将模型读取为字节而不保存 python 中的位置?
Read model as bytes without saving in location in python?
Python,我已经将我的模型保存为 joblib 文件在一个位置,我在 'rb' 中打开文件读取字节,是否可以直接转换为字节而不是保存在文件,
import joblib
joblib.dump(model, 'model.joblib')
#Read as bytes
model_bytes = open('C:/Models/model.joblib','rb').read()
model_bytes
#This outputs like
b'\x80\x03csklearn.ensemble.forest\nRandomForestClassifier\nq\x00)\x81q\x01}q\x...…..
这里我不想保存在某个位置,所以我尝试使用临时文件,但这行不通我知道,还有其他选择吗
import tempfile
bytes_model = tempfile.TemporaryFile()
bytes_model.read(model)
#Also bytes function doesn't work
bytes_model = bytes(model)
我不需要创建文件,所以我不必访问它,
是否可以将模型变量读取为字节?
如果 joblib.dump()
没有抱怨,您应该可以使用 BytesIO
。
类似这样的东西可能对你有用:
from io import BytesIO
import joblib
bytes_container = BytesIO()
joblib.dump(model, bytes_container)
bytes_container.seek(0) # update to enable reading
bytes_model = bytes_container.read()
Python,我已经将我的模型保存为 joblib 文件在一个位置,我在 'rb' 中打开文件读取字节,是否可以直接转换为字节而不是保存在文件,
import joblib
joblib.dump(model, 'model.joblib')
#Read as bytes
model_bytes = open('C:/Models/model.joblib','rb').read()
model_bytes
#This outputs like
b'\x80\x03csklearn.ensemble.forest\nRandomForestClassifier\nq\x00)\x81q\x01}q\x...…..
这里我不想保存在某个位置,所以我尝试使用临时文件,但这行不通我知道,还有其他选择吗
import tempfile
bytes_model = tempfile.TemporaryFile()
bytes_model.read(model)
#Also bytes function doesn't work
bytes_model = bytes(model)
我不需要创建文件,所以我不必访问它, 是否可以将模型变量读取为字节?
如果 joblib.dump()
没有抱怨,您应该可以使用 BytesIO
。
类似这样的东西可能对你有用:
from io import BytesIO
import joblib
bytes_container = BytesIO()
joblib.dump(model, bytes_container)
bytes_container.seek(0) # update to enable reading
bytes_model = bytes_container.read()