0
我正在使用下面的代码来并行处理numpy数组。目标函数在这种情况下对输入数据执行简单的线性拉伸。该数组被分段,然后以大块的形式馈入池中。由于python文章的大量并行处理,这非常有效。multiprocessing.Process - 作为函数的变量
pool = [multiprocessing.Process(target=linear_stretch, args= (shared_arr,slice(i, i+step), 35, 200, 2.0)) for i in range (0, y, step)]
我的问题是,是否有可能做一些这样的:
stretch = Linear.linear_stretch()
我在哪里创建函数的对象(!请纠正我的翻译),然后调用它的多。处理。
该功能驻留在目前的模块看起来像:
Linear.py
import numpy
def linear_stretch(args):
#Do some stuff
+1。但是,根据...很难解释的东西(请参阅多处理对pickle协议的扩展),您可能会或可能无法将函数传递给子进程。试试看,如果不起作用,请回来寻求更多帮助。 – abarnert 2012-07-17 00:28:47
工作出色。不知道为什么我没有测试/阅读文档...谢谢! – Jzl5325 2012-07-17 03:24:33