【发布时间】:2019-07-20 19:54:29
【问题描述】:
我想在多处理中应用这个功能:
import multiprocessing
import numpy as np
a = np.random.randint(1,4, size=(10,10,10))
def function(input_field,[num1,num2,num3]):
pass
if __name__ == '__main__':
pool = multiprocessing.Pool(processes=4)
test_list = [(a,[27.5, 27.5, 25]), (b,[27.5, 27.5, 25]), (c,[27.5, 27.5, 25]), (d,[27.5, 27.5, 25])]
results = pool.map(function, test_list)
pool.close()
pool.join()
如何将function(input_field,[num1,num2,num3]) 应用于多处理?
【问题讨论】:
-
这是
function(input_field,[num1,num2,num3])语法错误。只需将函数更改为接收 1 个参数,即列表中的元组,然后将其解压缩到函数中或将map更改为starmap -
列表
[27.5, 27.5, 25]对所有项目都相同,这是故意的吗? -
starmap 对我来说是一个简单的解决方案。 @RomanPerekhrest 是的,它是故意写的。
-
@Newbie0105,我没有告诉你星图
标签: python function multiprocessing python-multiprocessing