python - 关于函数多参数迭代的Python多处理问题
问题描述
我需要一些帮助,我在 stackoverflow 和互联网上玩过多个选项。但我需要一些帮助,因为我很困惑。我在 Python 2.7 上。
这是我的多处理经理。我只需要基于 n_iterations 迭代 function1 并收集每次迭代的结果。我已经导入了这两个库,
from functools import partial
import 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._value
NameError: global name 'valuofv1' is not defined
(valueofv1 是 a1 的实际值)有人可以帮我弄清楚我做错了什么吗?谢谢你。
解决方案
我找到了答案,问题与调用valueof1
不存在的函数的实际代码有关。修复此问题后,我调整了 function1 以包含迭代值,def function1(v1,v2,v3,v4,v5,n):
以修复它。
推荐阅读
- wordpress - 更改地址
- android-studio - 如何使用 Koin 从 getter 函数返回单例
- android - How to customise Floating Action Button to have different look and feel for enabled and disabled FAB state in Android?
- python - Python 请求在 URL 结束之前传递参数
- python - 按多个索引位置过滤子字符串
- android - 如何在 Android 的 XML 中绘制这个形状?
- c - C链表;列表中的最大频率节点
- php - PHP函数根据输入获得相同的输出
- javascript - 如何从 Javascript 呈现的索引中抓取 onclick 中的链接?
- android - 为什么我在使用改造的 android 上没有网络连接时收到 503 状态码?