2016-08-27 2 views
0

데이터 피클에 연수생 데이터 세트를 저장해야합니다. 다음 코드를 사용했습니다. 이 작업을 실행하면파이썬에서 데이터 피클 오류

self.featureCounts = collections.defaultdict(lambda :0) 
self.featureVectors = [] 
self.labelCounts = collections.defaultdict(lambda :0) 

def SaveOnPickle(self): 
     f = open('dict.pickle', 'wb') 
     pickle.dump(self.featureCounts, f) 
     f.close() 

,

Traceback (most recent call last): 
    File "C:/wamp64/www/M360/TrainClassifier.py", line 76, in <module> 
    Predic.SaveOnPickle() 
    File "C:/wamp64/www/M360/TrainClassifier.py", line 50, in SaveOnPickle 
    pickle.dump(self.featureCounts, f) 
    File "C:\Python27\lib\pickle.py", line 1376, in dump 
    Pickler(file, protocol).dump(obj) 
    File "C:\Python27\lib\pickle.py", line 224, in dump 
    self.save(obj) 
    File "C:\Python27\lib\pickle.py", line 331, in save 
    self.save_reduce(obj=obj, *rv) 
    File "C:\Python27\lib\pickle.py", line 401, in save_reduce 
    save(args) 
    File "C:\Python27\lib\pickle.py", line 286, in save 
    f(self, obj) # Call unbound method with explicit self 
    File "C:\Python27\lib\pickle.py", line 568, in save_tuple 
    save(element) 
    File "C:\Python27\lib\pickle.py", line 286, in save 
    f(self, obj) # Call unbound method with explicit self 
    File "C:\Python27\lib\pickle.py", line 754, in save_global 
    (obj, module, name)) 
pickle.PicklingError: Can't pickle <function <lambda> at 0x021391B0>: it's not found as __main__.<lambda> 

어떻게이 문제를 해결하기 위해 오류가 다음되었다?

+0

[산세 클래스 인스턴스 (HTTPS : // 문서

import pickle f = open('my_classifier.pickle', 'wb') pickle.dump(classifier, f) f.close() 

나중에 로딩을위한

. python.org/3/library/pickle.html#what-can-be-pickled-and-unpickled) – putonspectacles

답변

0

당신은 당신이 같은 모델을 저장할 수 있습니다 피클

를 사용할 수 있습니다

import pickle 
f = open('my_classifier.pickle', 'rb') 
classifier = pickle.load(f) 
f.close() 
+0

이 코드를 사용해 보았습니다. 그러나 오류가있었습니다. 어떻게 해결해야합니까? –

관련 문제