为了账号安全,请及时绑定邮箱和手机立即绑定

关于函数多参数迭代的Python多处理问题

关于函数多参数迭代的Python多处理问题

繁星淼淼 2022-06-14 14:59:49
我需要一些帮助,我在 stackoverflow 和互联网上玩过多个选项。但我需要一些帮助,因为我很困惑。我在 Python 2.7 上。这是我的多处理经理。我只需要基于 n_iterations 迭代 function1 并收集每次迭代的结果。我已经导入了这两个库,from functools import partialimport multiprocessing功能1是;def function1(v1,v2,v3,v4,v5):    calculate_function = v1+v2+v3+v4+v5    return calculate_function处理多处理的功能是,def multi_process(n_iterations,a1,a2,a3,a4,a5):    sampling_process = partial(function1, v1=a1,v2=a2,v3=a3,v4=a4,v5=a5)    pool = multiprocessing.Pool()    results_set = pool.map(sampling_process, xrange(n_iterations))     pool.close()    pool.join()    return results_set但我不断收到一条错误消息,  File "model_selection_pooling_ray.py", line 246, in multi_process    results_set = pool.map(sampling_process, xrange(n_iterations))   File "/usr/lib/python2.7/multiprocessing/pool.py", line 251, in map    return self.map_async(func, iterable, chunksize).get()  File "/usr/lib/python2.7/multiprocessing/pool.py", line 567, in get    raise self._valueNameError: global name 'valuofv1' is not defined(valueofv1 是 a1 的实际值)有人可以帮我弄清楚我做错了什么吗?谢谢你。
查看完整描述

2 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

我找到了答案,问题与调用valueof1不存在的函数的实际代码有关。修复此问题后,我调整了 function1 以包含迭代值,def function1(v1,v2,v3,v4,v5,n):以修复它。



查看完整回答
反对 回复 2022-06-14
?
大话西游666

TA贡献1817条经验 获得超14个赞

采样过程不需要任何参数,您可以定义Function1:

def function1(n, v1,v2,v3,v4,v5):


查看完整回答
反对 回复 2022-06-14
  • 2 回答
  • 0 关注
  • 174 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信