如何在本地机器上加载和部署经过预培训的AWS Sagemaker XGBoost模型



我已经训练了一个Sagemaker XGBoost模型,并将model.tar.gz文件从S3下载到我的本地机器上。如何加载此模型以便使用烧瓶进行部署?

我尝试过使用pickle加载解压缩的模型文件,但似乎不起作用。

import sagemaker
import boto3
import os
import pickle
with open('xgboost-model', 'r') as inp:
cls.model = pkl.load(inp)

追踪(最近一次通话):文件",第2行,在文件"C:\Anaconda3\lib\encodings\cp1252.py",第23行,解码中返回codecs.charmap_decode(input,self.errors,decoding_table)[0]UnicodeDecodeError:"charmap"编解码器无法解码位置969中的字节0x81:字符映射到

想明白了!下载的预训练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)

最新更新