我已经训练了Sagemaker XGBoost模型,并将model.tar.gz文件从S3下载到我的本地计算机上。如何加载此模型以使用Flask进行部署?
我尝试使用pickle加载解压缩的模型文件,但似乎不起作用。
ggplotly
回溯(最近通话最近): 文件“”,第2行,在 解码中的文件“ C:\ Anaconda3 \ lib \ encodings \ cp1252.py”,第23行 返回codecs.charmap_decode(input,self.errors,decoding_table)[0] UnicodeDecodeError:'charmap'编解码器无法解码位置969上的字节0x81:字符映射到
答案 0 :(得分:0)
想通了!可以将下载的经过预训练的Sagemaker模型从其tar.gz格式提取到本地计算机上。提取后,以python格式打开字节格式的文件,然后使用pickle加载。
file = open(model_path, 'rb')
xgb_model = pickle.loads(file.read())
然后读入要转换为xgboost DMatrix格式的输入数据,而无需任何独立的数据或标题来进行预测。
data_input = xgb.DMatrix(data.iloc[:, 1:].values)
predictions = xgb_model.predict(data_input)