我正在使用joblib为自己的函数并行处理for循环。
from joblib import Parallel, delayed
from my_function import my_case_study
result = Parallel(n_jobs=4)(delayed(my_case_study)(i) for i in range(100))
因此,my_case_study是my_function.py文件中的唯一函数,并且将i作为超参数。 my_case_study调用其他python文件中包含的一堆不同的模型拟合算法,这些算法导入my_function的顶部。 my_function.py基本上看起来像
from anotherfile import fun1
from anotherfile import fun2
def my_case_study(i):
mse1 = fun1(i)
mse2 = fun2(i)
return (mse1,mse2)
但是随后我收到错误消息:任务气体无法反序列化。请确保该函数的参数都是可拾取的。
该如何解决?谢谢!
答案 0 :(得分:0)
我发现以下链接中的解决方案对我的情况很有帮助:
不知道是否还有其他更好的解决方案。由于最后的评论提到可能存在一些问题(无法完全理解)。