从 Joblib 0.16.0 使用 Parallel 时出现 BrokenProcessPool 消息 - Python

BrokenProcessPool message when using Parallel from Joblib 0.16.0 - Python

我有一个情况,在使用 joblib (v0.16.0) 的 parallel 函数时 我的代码中有这样几行:

with parallel_backend('loky', n_jobs=8):
    lineas = Parallel(verbose=10)(delayed(apply_prior_ind_def)(g) for g in df1_merge.groupby(['S1EMP','CONTRA1']))

这里的问题是有时会在以下消息下执行失败:

BrokenProcessPool: A task has failed to un-serialize. Please ensure that the arguments of the function are all picklable.

这个问题没有明显的回溯,因为不对代码做任何更改,只是重新启动终端,它有时可以重新启动执行并正确完成。

希望有人在使用 parallel 时遇到过类似的问题,并能给个启发。

非常感谢。

使用 Spyder3 和 Python3.6.5

对我有用的是同时打开 2 个终端。第一个是启动失败的,但是第二个可以运行整个并行代码。