[英]multiprocessing.Process - Variable as function
我正在使用下面的代码来并行处理numpy数组。 在这种情况下,目标函数对输入数据执行简单的线性拉伸。 对该数组进行分段,然后分块将其馈送到池中。 由于使用python帖子进行了大量的并行处理,因此该命令运行良好。
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()
在哪里创建函数的对象(请纠正我的vocab!),然后在multiprocessing.Process中调用它。
该函数所在的模块当前如下所示:
Linear.py
import numpy
def linear_stretch(args):
#Do some stuff
是的,像这样:
stretch = Linear.linear_stretch
在Python中,函数已经是一流的对象,并且能够像其他任何对象一样进行操作,或通过引用传递给另一个变量。 请注意,在函数或方法发出信号通知解释器以调用该函数并传递返回值之后,括号将成为原因:
stretch = Linear.linear_stretch()
将无法正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.