Joblib的全局对象

时间:2018-08-06 15:13:03

标签: python joblib

我想更好地了解 joblib 如何处理全局对象。考虑下面的简单示例。

from joblib import Parallel, delayed

class Engine:
  def f(self, x):
    return x+2

engine = Engine()

def run_engine(x):
    return engine.f(x)

def main():
    res = Parallel(n_jobs=5)(delayed(run_engine)(x) for x in range(0,100))
    print(res)

if __name__ == '__main__':
    main()

engine对象会发生什么?它会被所有生成的进程复制还是以某种方式共享?

如果复制,有任何序列化要求吗?它将复制多少次,n_jobs次或每次调用run_engine一次复制一次?范围内的所有对象都被复制了吗?或者 joblib 是否以某种方式神奇地推断出哪些是必需的?

0 个答案:

没有答案