pickle.load() 時報錯 raise AttributeError(attr + " not found")

  1. 問題:我用python3 的pickle.load() 時報錯。錯誤信息如下代碼,
  2. 錯誤日誌:
Traceback (most recent call last):
  File "./ncf.py", line 179, in main
    train_dataset = pickle.load(save_traind)
  File "/anaconda3-5.0.1/lib/python3.6/site-packages/scipy/sparse/dok.py", line 244, in __setitem__
    if (isintlike(i) and isintlike(j) and 0 <= i < self.shape[0]
  File "/anaconda3-5.0.1/lib/python3.6/site-packages/scipy/sparse/base.py", line 576, in __getattr__
    raise AttributeError(attr + " not found")
AttributeError: shape not found

  1. 找到了對策:原來是dump 的時候需要加參數 protocol=0
  2. 具體的:
abc_file = list(XXX)
with open('abc_asve.pkl','wb') as sf:
  pickle.dump(abc_file, sf, protocol=0)
with open('abc_save.pkl', 'rb') as rf:
  abc_read = pickler.load(sf)

Done!

參考 :
https://github.com/joblib/joblib/issues/177

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章