python,我将模型保存为joblib文件,在一个位置,i在'rb'read字节中打开文件,可以直接转换为字节而不是保存在一个文件,
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'x80x03csklearn.ensemble.forestnRandomForestClassifiernqx00)x81qx01}qx...…..
在这里我不想保存在一个位置,所以我尝试使用tempfile,但这不会可行,我知道还有其他选择
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()