如何在本地计算机上加载和部署经过预训练的AWS Sagemaker XGBoost模型?

时间:2019-01-10 00:03:41

标签: machine-learning xgboost amazon-sagemaker

我已经训练了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:字符映射到

1 个答案:

答案 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)