如何在本地部署在Amazon Sagemaker上训练过的模型?

时间:2019-07-01 20:29:26

标签: tensorflow mxnet amazon-sagemaker

我在Amazon Sagemaker上使用AWS blazingtext算法训练了一个模型,并且能够使用Sagemaker部署端点。但是,就我而言,这并不划算,我想在本地运行。我发现与此有关的文档令人困惑。

我所拥有的是训练有素的模型,该模型保存为我从s3存储桶中下载的“ model.tar.gz”文件。我已经在线阅读了可以使用tensorflow和docker映像部署模型的信息,但是我只想使用本地计算机部署使用sagemaker创建的模型。本质上我想做的是:

predictor = sagemaker.deploy(initial_instance_count=1, instance_type='local_cpu')

我希望能够使用预报功能进行推理调用并返回带有预报结果的响应。我正在寻找要使用的库以及相关的代码来完成此任务。谢谢。

1 个答案:

答案 0 :(得分:1)

SageMaker BlazingText有2种口味:

  1. 受监管的版本,可以学习对可变长度令牌序列进行分类,并且
  2. 一个无监督版本,用于学习令牌嵌入。

According to the documentation,对于这两个版本,该模型生成的二进制文件都可以被fastText使用。从fasttext python binding documentation看来,以下命令在两种情况下均适用:

import fasttext

# bin file is found in the model.tar.gz produced by Sagemaker
model = fasttext.load_model('model_filename.bin')

# inference for unsupervised version
model['king']

# inference for supervised version
model.predict('Which baking dish is best to bake a banana bread ?')

Gensim seems to have similar ability to read fastText artifacts,但我发现API不够清晰,而且似乎仅适用于无监督的情况(词嵌入)