Python multiprocessing.pool.map() Examples
The following are 30
code examples of multiprocessing.pool.map().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
multiprocessing.pool
, or try the search function
.
Example #1
Source File: download_coco_images.py From Dataset_to_VOC_converter with MIT License | 6 votes |
def main(n_workers=args.n_workers): if args.input_dir: files = [os.path.join(args.input_dir, fi) for fi in os.listdir(args.input_dir)] elif args.input_file_list: files = np.squeeze(np.asarray(pd.read_csv(args.input_file_list, header=None, sep="\n"))).tolist() elif args.input_file: files = [args.input_file] else: pass for file in files: save_dir = os.path.join(args.output_dir, os.path.splitext(os.path.basename(file))[0]) df = pd.read_csv(file, header=None, sep=" ") name_url_zip = zip(np.squeeze(np.asarray(df.ix[:, 0])).tolist(), np.squeeze(np.asarray(df.ix[:, 1])).tolist()) dn = partial(download, tarDir=save_dir) pool = Pool(processes=n_workers) try: pool.map(dn, name_url_zip) except Exception as e: logger.error("Error occurred during multiprocessing thread: %s @ time %s" %(str(e), time.strftime("%Y%m%d-%H%M%S")))
Example #2
Source File: pool.py From everest with MIT License | 6 votes |
def map(self, func, iterable, chunksize=None): """ Equivalent of `map()` built-in, without swallowing `KeyboardInterrupt`. :param func: The function to apply to the items. :param iterable: An iterable of items that will have `func` applied to them. """ # The key magic is that we must call r.get() with a timeout, because # a Condition.wait() without a timeout swallows KeyboardInterrupts. r = self.map_async(func, iterable, chunksize) while True: try: return r.get(self.wait_timeout) except multiprocessing.TimeoutError: pass except KeyboardInterrupt: self.terminate() self.join() raise
Example #3
Source File: _test_multiprocessing.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 6 votes |
def test_map_handle_iterable_exception(self): if self.TYPE == 'manager': self.skipTest('test not appropriate for {}'.format(self.TYPE)) # SayWhenError seen at the very first of the iterable with self.assertRaises(SayWhenError): self.pool.map(sqr, exception_throwing_generator(1, -1), 1) # again, make sure it's reentrant with self.assertRaises(SayWhenError): self.pool.map(sqr, exception_throwing_generator(1, -1), 1) with self.assertRaises(SayWhenError): self.pool.map(sqr, exception_throwing_generator(10, 3), 1) class SpecialIterable: def __iter__(self): return self def __next__(self): raise SayWhenError def __len__(self): return 1 with self.assertRaises(SayWhenError): self.pool.map(sqr, SpecialIterable(), 1) with self.assertRaises(SayWhenError): self.pool.map(sqr, SpecialIterable(), 1)
Example #4
Source File: test_multiprocessing.py From ironpython2 with Apache License 2.0 | 6 votes |
def test_imap_unordered_handle_iterable_exception(self): if self.TYPE == 'manager': self.skipTest('test not appropriate for {}'.format(self.TYPE)) it = self.pool.imap_unordered(sqr, exception_throwing_generator(10, 3), 1) expected_values = map(sqr, range(10)) with self.assertRaises(SayWhenError): # imap_unordered makes it difficult to anticipate the SayWhenError for i in range(10): value = next(it) self.assertIn(value, expected_values) expected_values.remove(value) it = self.pool.imap_unordered(sqr, exception_throwing_generator(20, 7), 2) expected_values = map(sqr, range(20)) with self.assertRaises(SayWhenError): for i in range(20): value = next(it) self.assertIn(value, expected_values) expected_values.remove(value)
Example #5
Source File: test_multiprocessing.py From CTFCrackTools with GNU General Public License v3.0 | 5 votes |
def test_map(self): pmap = self.pool.map self.assertEqual(pmap(sqr, range(10)), map(sqr, range(10))) self.assertEqual(pmap(sqr, range(100), chunksize=20), map(sqr, range(100)))
Example #6
Source File: event.py From EVDodgeNet with BSD 3-Clause "New" or "Revised" License | 5 votes |
def generate_multithread_evtime(self, time_width, path): print("inside display synced frame") path_p = os.path.join(path, 'pos') path_n = os.path.join(path, 'neg') path_ef = os.path.join(path, 'events') # try: # os.makedirs(path_ef) # except OSError: # if not os.path.isdir(path_ef): # raise path_image = os.path.join(path, 'images.txt') # img_file = open(path_image,'r') def evtime_image(line): junk, frame_id = line.split('/') cnt = 0 cnt = int(frame_id[6:-4]) inner_list = [elt.strip() for elt in line.split(' ')] # print(inner_list[0]) frame_start = float(inner_list[0]) frame_end = float(inner_list[0])+time_width # print("frame start, frame_end", frame_start, frame_end) frame_data = self.data[(self.data.ts >= frame_start) & (self.data.ts < frame_end)] frame_data.ts = (frame_data.ts - frame_data.ts[0]) img_p = self.get_frame_positive(frame_data) # cv2.imwrite(os.path.join(path_p, 'pos_'+str(cnt)+'.jpg'), img_p) img_n = self.get_frame_negative(frame_data) # cv2.imwrite(os.path.join(path_n, 'neg_'+str(cnt)+'.jpg'), img_n) img_t = self.get_time_frame(frame_data, time_width) event_time_frame = cv2.merge((img_p, img_n, img_t)) cv2.imwrite(os.path.join(path_ef, 'event_'+str(cnt)+'.png'), event_time_frame) imagesList = [line.rstrip('\n') for line in open(path_image)] pool = ThreadPool(16) pool.map(evtime_image, imagesList)
Example #7
Source File: cgp_config.py From cgp-cnn-PyTorch with MIT License | 5 votes |
def __call__(self, net_lists): evaluations = np.zeros(len(net_lists)) for i in np.arange(0, len(net_lists), self.gpu_num): process_num = np.min((i + self.gpu_num, len(net_lists))) - i pool = NoDaemonProcessPool(process_num) arg_data = [(cnn_eval, net_lists[i+j], j, self.epoch_num, self.batchsize, self.dataset, self.verbose, self.imgSize) for j in range(process_num)] evaluations[i:i+process_num] = pool.map(arg_wrapper_mp, arg_data) pool.terminate() return evaluations # network configurations
Example #8
Source File: test_multiprocessing.py From CTFCrackTools with GNU General Public License v3.0 | 5 votes |
def pool_in_process(): pool = multiprocessing.Pool(processes=4) x = pool.map(_afunc, [1, 2, 3, 4, 5, 6, 7])
Example #9
Source File: test_multiprocessing.py From CTFCrackTools with GNU General Public License v3.0 | 5 votes |
def test_empty_iterable(self): # See Issue 12157 p = self.Pool(1) self.assertEqual(p.map(sqr, []), []) self.assertEqual(list(p.imap(sqr, [])), []) self.assertEqual(list(p.imap_unordered(sqr, [])), []) self.assertEqual(p.map_async(sqr, []).get(), []) p.close() p.join()
Example #10
Source File: test_multiprocessing.py From CTFCrackTools with GNU General Public License v3.0 | 5 votes |
def test_imap_unordered(self): it = self.pool.imap_unordered(sqr, range(1000)) self.assertEqual(sorted(it), map(sqr, range(1000))) it = self.pool.imap_unordered(sqr, range(1000), chunksize=53) self.assertEqual(sorted(it), map(sqr, range(1000)))
Example #11
Source File: test_multiprocessing.py From CTFCrackTools with GNU General Public License v3.0 | 5 votes |
def test_imap(self): it = self.pool.imap(sqr, range(10)) self.assertEqual(list(it), map(sqr, range(10))) it = self.pool.imap(sqr, range(10)) for i in range(10): self.assertEqual(it.next(), i*i) self.assertRaises(StopIteration, it.next) it = self.pool.imap(sqr, range(1000), chunksize=100) for i in range(1000): self.assertEqual(it.next(), i*i) self.assertRaises(StopIteration, it.next)
Example #12
Source File: _test_multiprocessing.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_imap_unordered_handle_iterable_exception(self): if self.TYPE == 'manager': self.skipTest('test not appropriate for {}'.format(self.TYPE)) # SayWhenError seen at the very first of the iterable it = self.pool.imap_unordered(sqr, exception_throwing_generator(1, -1), 1) self.assertRaises(SayWhenError, it.__next__) # again, make sure it's reentrant it = self.pool.imap_unordered(sqr, exception_throwing_generator(1, -1), 1) self.assertRaises(SayWhenError, it.__next__) it = self.pool.imap_unordered(sqr, exception_throwing_generator(10, 3), 1) expected_values = list(map(sqr, list(range(10)))) with self.assertRaises(SayWhenError): # imap_unordered makes it difficult to anticipate the SayWhenError for i in range(10): value = next(it) self.assertIn(value, expected_values) expected_values.remove(value) it = self.pool.imap_unordered(sqr, exception_throwing_generator(20, 7), 2) expected_values = list(map(sqr, list(range(20)))) with self.assertRaises(SayWhenError): for i in range(20): value = next(it) self.assertIn(value, expected_values) expected_values.remove(value)
Example #13
Source File: cgp_config.py From Evolutionary-Autoencoders with MIT License | 5 votes |
def __call__(self, net_lists): evaluations = np.zeros(len(net_lists)) for i in np.arange(0, len(net_lists), self.gpu_num): process_num = np.min((i + self.gpu_num, len(net_lists))) - i pool = NoDaemonProcessPool(process_num) arg_data = [(cnn_eval, net_lists[i+j], j, self.epoch_num, self.batchsize, self.dataset, self.verbose, self.imgSize) for j in range(process_num)] evaluations[i:i+process_num] = pool.map(arg_wrapper_mp, arg_data) pool.terminate() return evaluations # network configurations
Example #14
Source File: cgp_config.py From Evolutionary-Autoencoders with MIT License | 5 votes |
def __call__(self, net_lists): evaluations = np.zeros(len(net_lists)) for i in np.arange(0, len(net_lists), self.gpu_num): process_num = np.min((i + self.gpu_num, len(net_lists))) - i pool = NoDaemonProcessPool(process_num) arg_data = [(cnn_eval, net_lists[i+j], j, self.epoch_num, self.dataset, self.verbose, self.imgSize, self.batchsize, self.mask) for j in range(process_num)] evaluations[i:i+process_num] = pool.map(arg_wrapper_mp, arg_data) pool.terminate() return evaluations # network configurations
Example #15
Source File: _test_multiprocessing.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def pool_in_process(): pool = multiprocessing.Pool(processes=4) x = pool.map(_afunc, [1, 2, 3, 4, 5, 6, 7]) pool.close() pool.join()
Example #16
Source File: test_multiprocessing.py From CTFCrackTools-V2 with GNU General Public License v3.0 | 5 votes |
def test_map(self): pmap = self.pool.map self.assertEqual(pmap(sqr, range(10)), map(sqr, range(10))) self.assertEqual(pmap(sqr, range(100), chunksize=20), map(sqr, range(100)))
Example #17
Source File: test_multiprocessing.py From CTFCrackTools-V2 with GNU General Public License v3.0 | 5 votes |
def test_imap(self): it = self.pool.imap(sqr, range(10)) self.assertEqual(list(it), map(sqr, range(10))) it = self.pool.imap(sqr, range(10)) for i in range(10): self.assertEqual(it.next(), i*i) self.assertRaises(StopIteration, it.next) it = self.pool.imap(sqr, range(1000), chunksize=100) for i in range(1000): self.assertEqual(it.next(), i*i) self.assertRaises(StopIteration, it.next)
Example #18
Source File: _test_multiprocessing.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_empty_iterable(self): # See Issue 12157 p = self.Pool(1) self.assertEqual(p.map(sqr, []), []) self.assertEqual(list(p.imap(sqr, [])), []) self.assertEqual(list(p.imap_unordered(sqr, [])), []) self.assertEqual(p.map_async(sqr, []).get(), []) p.close() p.join()
Example #19
Source File: _test_multiprocessing.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_release_task_refs(self): # Issue #29861: task arguments and results should not be kept # alive after we are done with them. objs = [CountedObject() for i in range(10)] refs = [weakref.ref(o) for o in objs] self.pool.map(identity, objs) del objs time.sleep(DELTA) # let threaded cleanup code run self.assertEqual(set(wr() for wr in refs), {None}) # With a process pool, copies of the objects are returned, check # they were released too. self.assertEqual(CountedObject.n_instances, 0)
Example #20
Source File: _test_multiprocessing.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_imap(self): it = self.pool.imap(sqr, list(range(10))) self.assertEqual(list(it), list(map(sqr, list(range(10))))) it = self.pool.imap(sqr, list(range(10))) for i in range(10): self.assertEqual(next(it), i*i) self.assertRaises(StopIteration, it.__next__) it = self.pool.imap(sqr, list(range(1000)), chunksize=100) for i in range(1000): self.assertEqual(next(it), i*i) self.assertRaises(StopIteration, it.__next__)
Example #21
Source File: _test_multiprocessing.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_map_unplicklable(self): # Issue #19425 -- failure to pickle should not cause a hang if self.TYPE == 'threads': self.skipTest('test not appropriate for {}'.format(self.TYPE)) class A(object): def __reduce__(self): raise RuntimeError('cannot pickle') with self.assertRaises(RuntimeError): self.pool.map(sqr, [A()]*10)
Example #22
Source File: _test_multiprocessing.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_map_async(self): self.assertEqual(self.pool.map_async(sqr, list(range(10))).get(), list(map(sqr, list(range(10)))))
Example #23
Source File: _test_multiprocessing.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_map(self): pmap = self.pool.map self.assertEqual(pmap(sqr, list(range(10))), list(map(sqr, list(range(10))))) self.assertEqual(pmap(sqr, list(range(100)), chunksize=20), list(map(sqr, list(range(100)))))
Example #24
Source File: test_multiprocessing.py From gcblue with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_empty_iterable(self): # See Issue 12157 p = self.Pool(1) self.assertEqual(p.map(sqr, []), []) self.assertEqual(list(p.imap(sqr, [])), []) self.assertEqual(list(p.imap_unordered(sqr, [])), []) self.assertEqual(p.map_async(sqr, []).get(), []) p.close() p.join()
Example #25
Source File: test_multiprocessing.py From gcblue with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_imap_unordered(self): it = self.pool.imap_unordered(sqr, range(1000)) self.assertEqual(sorted(it), map(sqr, range(1000))) it = self.pool.imap_unordered(sqr, range(1000), chunksize=53) self.assertEqual(sorted(it), map(sqr, range(1000)))
Example #26
Source File: test_multiprocessing.py From gcblue with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_imap(self): it = self.pool.imap(sqr, range(10)) self.assertEqual(list(it), map(sqr, range(10))) it = self.pool.imap(sqr, range(10)) for i in range(10): self.assertEqual(it.next(), i*i) self.assertRaises(StopIteration, it.next) it = self.pool.imap(sqr, range(1000), chunksize=100) for i in range(1000): self.assertEqual(it.next(), i*i) self.assertRaises(StopIteration, it.next)
Example #27
Source File: test_multiprocessing.py From gcblue with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_map_unplicklable(self): # Issue #19425 -- failure to pickle should not cause a hang if self.TYPE == 'threads': self.skipTest('test not appropriate for {}'.format(self.TYPE)) class A(object): def __reduce__(self): raise RuntimeError('cannot pickle') with self.assertRaises(RuntimeError): self.pool.map(sqr, [A()]*10)
Example #28
Source File: test_multiprocessing.py From gcblue with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_map(self): pmap = self.pool.map self.assertEqual(pmap(sqr, range(10)), map(sqr, range(10))) self.assertEqual(pmap(sqr, range(100), chunksize=20), map(sqr, range(100)))
Example #29
Source File: pool.py From everest with MIT License | 5 votes |
def map(self, function, iterable): ''' ''' return list(map(function, iterable))
Example #30
Source File: pool.py From everest with MIT License | 5 votes |
def map(self, *args, **kwargs): ''' ''' return NotImplementedError( 'Method ``map`` must be called from subclasses.')