我试图pickle nearest neighbor模型,但它说不能pickle instancemethod对象。在
代码:
import cPickle as pickle
from sklearn.neighbors import NearestNeighbors
nbrs = NearestNeighbors(n_neighbors=50, algorithm='ball_tree', metric=self.distanceCIE2000_classifier)
nbrs.fit(allValues)
with open('/home/ubuntu/nbrs.p','wb') as f:
pickle.dump(nbrs, f)
完整的回溯:
^{pr2}$
在
NearestNeighbors
实例中的某个地方有一个属性,它引用了在metric
参数中传递给它的实例方法。Pickle不会Pickle实例方法,因此会出现错误。在一种解决方法是将类中的方法
distanceCIE2000_classifier()
移到常规的独立函数(如果可能的话)。在相关问题 更多 >
编程相关推荐