Python程序的脏并行化

我有一个程序可以循环加载2600张图像,进行一些处理并返回一个值.伪代码:

for file in files:
  codes[file] = my_function(file)
return codes

问题是-此过程大约需要20-30分钟,并且似乎仅使用一个CPU内核.我正在寻找一种快速而肮脏的方法来在更多的内核上运行它,也许是通过将列表分成两部分来实现的.我已经阅读了很多有关Python及其问题/解决方案的文章,但我不知道下一步该怎么做.我该怎么做呢?

FYI在2009 Macbook Pro(Core 2 Duo)上使用Python 2.7(带有Numpy Scipy Scikit图像和图片) OpenCV.

解决方法:

最简单的方法是进行多重处理:

from multiprocessing import Pool

with Pool() as p:
    all_codes = p.map(my_function, files)
return {f:code for code, f in zip(all_codes, files)}
上一篇:是否可以使用p7 python发行版安装SciPy?


下一篇:scipy curve_fit不喜欢数学模块