无法从GridFS加载joblib序列化模型

时间:2017-10-13 07:43:54

标签: python scikit-learn pymongo gridfs joblib

我可以将sklearn模型转储到gridFS:

<DatePicker>

这很有效,我可以看到存储在Mongo中的模型。

但我无法直接从GridFS阅读:

import gridfs
fs = gridfs.GridFS(db)
gridFS_file = fs.new_file()
joblib.dump(vectorizer, gridFS_file)

这需要永远,永远不会结束。但是,这有效(并且很快完成):

from bson.objectid import ObjectId
new_file = fs.get(ObjectId("59df36ebe46a520014e0771d"))
vectorizer2 = joblib.load(new_file)

我错过了什么?

1 个答案:

答案 0 :(得分:2)

更好的解决方法包括首先将文件读取到变量,然后将其转换为流,如下所示:

joblib.load(io.BytesIO(new_file.read()))