amazon-web-services - 如何将在 SageMaker 上训练的 ML 模型部署到本地机器以运行预测?
问题描述
我一直在查看有关在本地部署 SageMaker 模型的各种帖子,但它们必须绑定到 AWS 笔记本实例才能在本地运行预测/服务(AWS SageMaker Python SDK)。这违背了完全离线运行 Sagemaker 训练模型的实际意图。还有一些其他人尝试在 S3 上解压缩 tar.gz 文件,然后包装要在本地部署的内容。然而,该过程似乎非常受限于某些类型的模型,例如 XGBoost 和 MXnet。因此,有什么方法可以离线部署 SageMaker 训练的模型而不依赖于 Sagemaker 笔记本实例?任何形式的建议将不胜感激。谢谢你。
解决方案
我已经通过Amazon SageMaker Local Mode在本地部署了 PyTorch 模型。我相信相同的过程适用于其他具有官方 SageMaker 容器的 ML 框架。您可以在本地运行 SageMaker 在 AWS 基础设施上部署模型时使用的相同 Docker 容器。
用于在本地部署 Sagemaker 端点以进行推理的文档有点分散。总结:
- 使用本地版本的 API 客户端:通常,您使用
botocore.client.SageMaker
和botocore.client.SageMakerRuntime
类以使用 Python 中的 SageMaker。要在本地使用 SageMaker,请改用sagemaker.local.LocalSagemakerClient()
andsagemaker.local.LocalSagemakerRuntimeClient()
。 - 如果您愿意,可以使用本地
tar.gz
模型文件。 - 部署模型时设置为
instance_type
。local
我写了How to setup a local AWS SageMaker environment for PyTorch,其中详细介绍了它的工作原理。
推荐阅读
- elasticsearch - 从远程服务器拉日志到elasticsearch
- javascript - 将beeswarm与scalePoint结合
- java - jetty.xml中jetty.httpConfig.headerCacheSize的意义是什么
- c# - 备份捕获 EventHandler 中抛出的异常
- pandas - 通过删除一列从现有数据框中创建具有如此多列的新数据框
- java - 如何使用 JPA 和 Join 优化请求?
- css - 将 thead 和 tbody 元素与固定 thead 并使 tbody 可滚动的能力对齐
- reactjs - 找不到芝士汉堡菜单反应组件的模块:CaseSensitivePathsPlugin
- python - 通过 Pandas 中的合并功能左连接
- php - 如何在另一个表单类型测试中模拟自定义表单类型?