我有一个python函数,它返回多维numpy数组作为输出。这是一个带随机数的蒙特卡罗模拟,我想用相同的输入运行这个函数n次,收集数据并做平均值。有没有一种简单的方法可以使用multiprocessing
来实现这一目标?
答案 0 :(得分:0)
例如,使用4个过程的简单平方函数计算平均值:
from multiprocessing import Pool
def f(x):
return x*x
if __name__ == '__main__':
pool = Pool(processes=4)
n = 10000000
inputs = xrange(n)
# calc f output using 4 processes
out_list = pool.map(f, inputs)
# average
print sum(out_list) / float(n)