Sagemaker导出模型并将模型加载到内存

时间:2019-07-09 12:36:02

标签: amazon-sagemaker

我已经使用sagemaker创建了一个模型(在AWS ml笔记本上)。 然后,我将该模型导出到s3,并在那里创建了一个.tar.gz文件。

我正在尝试寻找一种方法来将模型对象加载到我的代码中的内存中(无需使用AWS docker映像和部署)并对其进行运行预测。

我在sagemaker docs的模型部分中寻找了实现此功能的函数,但其​​中的所有内容都与AWS docker映像紧密相关。

然后我尝试使用tarfileshutil软件包打开文件,但这没用。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

除了XGBoost之外,Apache MXNet均实现了内置算法,因此只需从.tar.gz文件中提取模型并使用MXNet进行加载:load_checkpoint()是要使用的API。

XGBoost模型只是腌制的对象。解开并加载sklearn:

$ python3
>>> import sklearn, pickle
>>> model = pickle.load(open("xgboost-model", "rb"))
>>> type(model)
<class 'xgboost.core.Booster'>

使用内置库(Tensorflow,MXNet,Pytorch等)训练的模型是原始模型,可以使用正确的库按原样加载。

希望这会有所帮助。