python - 如何使用 joblib 的 Parallel 函数来并行化 Python 中不返回任何内容的函数
问题描述
我正在尝试并行化一个不返回任何内容的函数,它只是更新现有的数据结构。它应该像这样工作
class Klas():
def __init__(self):
self.x = np.empty([4, 1])
def foo(self, i):
self.x[i] = np.random.uniform(0, 1)
return self
def loo(self):
Parallel(n_jobs=4)(delayed(self.foo)(i) for i in range(4))
那么当我跑步时
object = Klas()
object.loo()
object.x
我应该得到 numpy 数组,其中包含 0 到 1 之间的四个随机数。但是,调用方法 loo() 不会更新数组 x。可能是什么问题呢?