小编Grg*_*Grg的帖子

使用带有导入函数的 joblib 时出错

我正在使用joblib并行化我的 python 3.5 代码。
如果我做:

from modules import f
from joblib  import Parallel, delayed

if __name__ == '__main__':
    Parallel( n_jobs  =  n_jobs,backend = "multiprocessing")(delayed(f)(i) for i in range( 10 ))
Run Code Online (Sandbox Code Playgroud)

代码不起作用。反而:

from joblib import Parallel, delayed

def f( i ):
    # my func ...

if __name__ == '__main__':
    Parallel( n_jobs  =  n_jobs, backend = "multiprocessing")(delayed(f)(i) for i in range(10))
Run Code Online (Sandbox Code Playgroud)

这有效!

有人可以解释为什么我必须将所有函数放在同一个脚本中吗?

这真的不切实际,因为在模块中有很多我编码的函数,我不想在主脚本中复制/粘贴。

python parallel-processing import multiprocessing joblib

6
推荐指数
1
解决办法
1199
查看次数