DSe*_*rer 2 machine-learning xgboost amazon-sagemaker
我已经训练了一个 Sagemaker XGBoost 模型并将 model.tar.gz 文件从 S3 下载到我的本地机器上。如何加载此模型以使用 Flask 部署它?
我试过使用 pickle 加载解压后的模型文件,但它似乎不起作用。
import sagemaker
import boto3
import os
import pickle
with open('xgboost-model', 'r') as inp:
cls.model = pkl.load(inp)
Run Code Online (Sandbox Code Playgroud)
回溯(最近一次调用):文件“”,第 2 行,在文件“C:\Anaconda3\lib\encodings\cp1252.py”中,第 23 行,在解码中返回 codecs.charmap_decode(input,self.errors,decoding_table) [0] UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 969: character maps to
弄清楚了!下载的预训练 sagemaker 模型可以从其 tar.gz 格式提取到本地机器上。提取后,以字节格式在python中打开文件并使用pickle加载。
file = open(model_path, 'rb')
xgb_model = pickle.loads(file.read())
Run Code Online (Sandbox Code Playgroud)
然后读入要转换为 xgboost DMatrix 格式的输入数据,无需任何独立数据或标题进行预测。
data_input = xgb.DMatrix(data.iloc[:, 1:].values)
predictions = xgb_model.predict(data_input)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2555 次 |
| 最近记录: |