加载pkl(使用joblib或pickle)生成keyerror 120

时间:2017-01-23 18:27:29

标签: python-3.x pickle joblib

我正在尝试使用joblib加载pkl文件(在Windows机器中)。 所以我的代码是

from sklearn.externals import joblib
output = joblib.load("file.pkl")

我收到此错误:

  File "cleaning.py", line 97, in <module>
output = joblib.load('file.pkl')
File "C:\Users\me\AppData\Local\Continuum\Anaconda3\lib\site-packages\sklearn\externals\joblib\numpy_pickle.py", line 459, in load
    obj = unpickler.load()
  File "C:\Users\me\AppData\Local\Continuum\Anaconda3\lib\pickle.py", line 1039, in load
    dispatch[key[0]](self)
KeyError: 120

我也尝试使用泡菜,这样:

import pickle
with open('file.pkl', 'r') as input:
    output = pickle.load(input)

但我得到了另一个错误:

File "cleaning.py", line 94, in <module>
    output = pickle.load(input)
_pickle.UnpicklingError: invalid load key, 'x'.

有人可以帮助我吗? 我已经搜索了stackoverflow,但我找不到任何适合我的解决方案...... 感谢

1 个答案:

答案 0 :(得分:0)

尝试将scikit-learn升级到0.18.1。

pip install scikitlearn==0.18.1

从默认的anaconda版本(0.17)升级后,这对我有用。