python 多进程并行多输入函数 map,multiprocessing

python 多进程并行多输入函数 map,multiprocessing

import的库

from multiprocessing.pool import Pool

需要并行的原始函数

def generate_image_crops(vid_root_path, vid_curated_path,addnum):
	print(addnum)
	#以下省略具体的函数定义

map并行套路1:新写一个函数(下面的代码没有省略任何的东西)

def generate_image_crops_mulcpu(args): 
    return generate_image_crops(*args)

放大招,main中并行的套路2

if __name__ == "__main__":
	#下面两个是参数的一部分而已,不用管他们
    vid_root_path = "/media/katy/Seagate Exp/track/ILSVRC2015"
    vid_curated_path = "/media/katy/Seagate Exp/track/ILSVRC15-curation"   
    
    pool = Pool(processes=3) #这个要注意!!!!!!,并行几个进程processes就等于几
    parlist = [(vid_root_path, vid_curated_path,1),(vid_root_path, vid_curated_path,2),(vid_root_path, vid_curated_path,3)] #这个也要注意,参数要list的形式,每个()中是一组参数
    pool.map(generate_image_crops_mulcpu,parlist) #这个也是套路了,套路1的函数,+参数list
    pool.close()
    pool.join()

你可能感兴趣的:(python 多进程并行多输入函数 map,multiprocessing)