python - 使用python多处理通过迭代返回几个变量的平均值
问题描述
我想在迭代多次后计算几个变量的平均值。我的函数创建随机数据,并从中计算变量(使用其他函数)。
到目前为止,我有:
stuff1_list = []
stuff2_list = []
stuff3_list = []
for i in range(100):
data = create_data(arg1, arg2)
stuff1_list.append(calc_stuff1(data))
stuff2_list.append(calc_stuff2(data))
stuff3_list.append(calc_stuff3(data))
mean1 = np.mean(stuff1_list)
mean2 = np.mean(stuff2_list)
mean3 = np.mean(stuff3_list)
我一直试图弄清楚如何使用多处理来做到这一点,但我对进程、队列、池等感到困惑。如何通过并行处理完成这项工作?
解决方案
我的方法是:
def do_stuff():
stuff_list = []
for i in range(100):
data = create_data(arg1, arg2)
stuff_list.append(calc_stuff(data))
print(np.mean(stuff_list))
for i in range(3):
p = multiprocessing.Process(target=do_stuff, args=())
p.start()
推荐阅读
- webdriver-io - 当我尝试以编程方式运行测试时,WebdriverIO 的后挂钩不起作用
- qt - 试图理解 QML 按钮和锚点
- macos - 无法通过主机的特定 http 端口访问多通道 VM
- python - 正则表达式似乎不适用于预期的输入
- python - Sklearn隔离森林中污染设置与异常值预测数量之间的不一致
- excel - 根据比率将数字添加到范围
- microsoft-graph-api - MS Teams 管理员如何为他们的用户安装自定义应用程序,以便我收到他们所有用户的 conversation_id
- generics - “特征函数的通用参数”和“特征的通用参数”有什么区别?
- python - 检查列表中的项目未按预期工作
- javascript - 以动态 PHP 形式使用 jQuery 设置属性 - 不工作