gpt4 book ai didi

scikit-learn - 如何克服classlib方法上的joblib的 "TypeError: can' t泡菜实例方法对象?

转载 作者:行者123 更新时间:2023-12-04 12:41:23 27 4
gpt4 key购买 nike

给定一个类和其中的2个方法A,B。

在A中尝试执行以下命令时,出现“TypeError:无法腌制instancemethod对象”的消息:

joblib.Parallel(n_jobs=-1)(joblib.delayed(self.B)(arg1, arg2, arg3) for arg1 in arg1_values_list)

我发现Stackoverflow上有几个关于instancemethod的线程,它们的一部分甚至与joblib有关,但是我仍然没有设法克服这个错误。

EDIT:



如下代码:
from sklearn.externals.joblib import Parallel, delayed
def a(self, x):
print x
return x*10

class c(object):
def b(self):
Parallel(n_jobs=-1)(
delayed(a)(self, i)
for i in range(10))

test_c = c()

test_c.b()

正常运行时运行正常。

但是在尝试使用“python -m cProfile”进行配置文件时失败

最佳答案

仅将Python无状态函数传递给joblib.Parallel可能更安全。您可以尝试import dill注册实例方法的腌制支持:https://pypi.python.org/pypi/dill(尽管您的里程可能有所不同)。

关于scikit-learn - 如何克服classlib方法上的joblib的 "TypeError: can' t泡菜实例方法对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20628623/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com