Python 异步执行前的多处理池映射/星图初始化?

Python 异步执行前的多处理池映射/星图初始化?,python,multiprocessing,environment-variables,pool,Python,Multiprocessing,Environment Variables,Pool,我可以使用4个进程执行launch\u training\u jobfunctionlen(实验)次 p = Pool(4) p.starmap(launch_training_job, experiments) 但我想根据执行它的进程来执行它 os.environ['CUDA_VISIBLE_DEVICES'] = 0 os.environ['CUDA_VISIBLE_DEVICES'] = 1 os.environ['CUDA_VISIBLE_DEVICES'] = 2 os.enviro

我可以使用4个进程执行
launch\u training\u job
function
len(实验)

p = Pool(4)
p.starmap(launch_training_job, experiments)
但我想根据执行它的进程来执行它

os.environ['CUDA_VISIBLE_DEVICES'] = 0
os.environ['CUDA_VISIBLE_DEVICES'] = 1
os.environ['CUDA_VISIBLE_DEVICES'] = 2
os.environ['CUDA_VISIBLE_DEVICES'] = 3
在进程开始执行函数之前。我找不到关于如何在调用函数之前预先编写初始化例程的示例或文档


如何执行此操作?

您可以向池传递一个
初始值设定项
方法,该方法将为每个进程运行,也许这可以帮助您?您是否希望将每个池工作者绑定到某个CUDA设备?根据你想做什么,除了Ron的答案之外还有
p.apply\u async(…)