我有一个数组(称为data_inputs
),其中包含数百个天文学图像文件的名称。然后处理这些图像。我的代码有效,并且需要几秒钟来处理每个图像。但是,一次只能执行一张图像,因为我是通过for
循环运行阵列:
for name in data_inputs:
sci=fits.open(name+'.fits')
#image is manipulated
没有理由我必须先修改映像,因此是否有可能利用计算机上的所有4个内核,每个内核都通过for循环在不同的映像上运行?
我已经阅读了有关该multiprocessing
模块的信息,但是不确定如何在我的情况下实现它。我渴望开始multiprocessing
工作,因为最终我将不得不在10,000幅以上的图像上运行它。
pool = Pool(os.cpu_count())
这是使用多重处理的更通用的方式。