我保存了一个模型对象,如下所示:
with open('bestModel_smv_3class_version2data.pickle','wb') as f:
pickle.dump(jpsa_svm_3class.g_cv.best_estimator_,f)
现在,当我尝试加载它时,它会产生错误
with open('bestModel_smv_3class_version2data.pickle','rb') as f:
svm_bestModel=pickle.load(f)
错误:
EOFError Traceback (most recent call last)
<ipython-input-66-df8734c64828> in <module>()
8
9 with open('bestModel_smv_3class_version2data.pickle','rb') as f:
---> 10 svm_bestModel=pickle.load(f)
EOFError: Ran out of input
pickle
在包含numpy
数组时无法处理sklearn
模型。改用joblib.dump
,它是相似的,但是它们有特殊的外壳保存/加载大型numpy
阵列。
https://pythonhosted.org/joblib/persistence.html