我在 amazon sagemaker 上使用 aws blazingtext 算法训练了一个模型,并且能够使用 sagemaker 部署端点。然而,在我的情况下,这不符合成本效益,我想在本地运行它。我发现这方面的文档令人困惑。
我所拥有的是保存为“model.tar.gz”文件的训练模型,该文件是我从 s3 存储桶下载的。我在网上读到,您可以使用tensorflow和docker图像部署模型,但我只想使用本地计算机部署我使用sagemaker创建的模型。本质上我想做的是:
predictor = sagemaker.deploy(initial_instance_count=1, instance_type='local_cpu')
我希望能够使用预测函数进行推理调用并返回带有预测结果的响应。我正在寻找要使用哪些库以及完成此任务的相关代码。谢谢。
最佳答案
SageMaker BlazingText 有 2 种风格:
- 一个监督版本,学习对可变长度标记序列进行分类
- 无监督版本,用于学习 token 嵌入。
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 不太清楚,它似乎只适用于无监督的情况(词嵌入)
关于tensorflow - 如何在本地部署在 amazon sagemaker 上训练的模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56842056/