scikit-learn joblib pickle VS joblib

joblib的载入
sklearn 0.21之前joblib位于
from sklearn.externals import joblib
之后作为sklearn的一个单独依赖
import joblib

joblib VS pickle
joblib对于大型numpy arrays有更好的优化,但是python3.8的pickle也集成了大型numpy array的优化,joblib可能优势只有嵌套的大型numpy array。
pickle里面的参数必须是file object;joblib可以是路径或者file object。

joblib使用
joblib.load('XXX.pkl')
joblib.load(open('XXX.pkl','rb'))
以上两种均可。
joblib.dump(model,'XXX.pkl')
同理第二个参数可以是个file object。

其它
joblib序列化的对象,用pickle打开会报错,我遇到的错误是
UnpicklingError: invalid load key, '\x00'.

留言

熱門文章