从 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 个终端。第一个是启动失败的,但是第二个可以运行整个并行代码。
我有一个情况,在使用 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 个终端。第一个是启动失败的,但是第二个可以运行整个并行代码。