python 报错:UnpicklingError: invalid load key, ‘\x00‘.

在读取一个训练好的模型时:

model = pickle.load(open('model1.pkl', 'rb'))

报错:pickle.load(open('y1_model.pkl', 'rb'))

网上查了一些方法还以为训练的那个模型源代码有问题,后来发现是读取方式有问题,将pickle.load()该为joblib.load()就可以了

后来和对方确认,对方确实是使用joblib保存模型为pkl格式的。

在此,多说两句,对训练好的模型进行保存,方便后续直接调取预测使用,有两种保存方式:

'''方法一:joblib'''

import joblib

joblib.dump(model, "model1.pkl")  #保存

model = joblib.load(open('model1.pkl', 'rb'))  #加载

pre = model.predict(X_test)


'''方法一:pickle'''


import pickle

#保存
pickle.dump(model, open('model1.pkl', 'wb'))

# 加载 
model = pickle.load(open('model1.pkl', 'rb'))

Y_pred = model.predict(X_test)




两种不同的保存方式都可将模型保存成pkl文件,但是在调用的时候要根据保存的不同方法选择对应的调用方法,不然就会报错:UnpicklingError: invalid load key, '\x00'.

你可能感兴趣的:(python的报错与警告,python,开发语言,numpy)