0
我创建了一个我想嵌入到我的nodejs web应用中的sklearn模型。我已经使用python3创建了模型,并使用joblib将其打包到一个pkl文件中。酸洗sklearn模型并在web应用中使用它们
from sklearn.externals import joblib
joblib.dump(clf, 'RandomForest_jul30.pkl', protocol=2)
我使用NPM包“child_process”运行一个Python脚本,我将数据加载到与解包与joblib.loads的PKL文件虽然它引发错误:
ValueError: unsupported pickle protocol: 3
我试图改变我正在使用的Python版本,虽然我仍然得到类似的错误或版本相关的错误。
编辑:当使用Python 3运行错误是:
/usr/lib/python3/dist-packages/sklearn/base.py:315: UserWarning: Trying to unpickle estimator DecisionTreeClassifier from version 0.18.1 when using version 0.18. This might lead to breaking code or invalid results. Use at your own risk.
UserWarning) . . . KeyError: 2
我有点困惑。有些资源说cPickle已经过时了,或者不再是cPickle –
在python3中它被称为_pickle它只是普通的pickle而是更快 –
用这个库解压文件就像用joblib或pickle解包一样吗? –