繁体   English   中英

如何在 AWS sagemaker 中运行预训练的 model?

[英]how to run a pre-trained model in AWS sagemaker?

我有一个经过预训练的 model.pkl 文件以及与 ml model 相关的所有其他文件。 我希望它将它部署在 aws sagemaker 上。 但是没有培训,如何将其部署到 aws sagmekaer,因为 aws sagemaker 中的 fit() 方法运行 train 命令并将 model.tar.gz 推送到 s3 位置,当使用部署方法时,它使用相同的 s3 位置部署 model,我们不会在 s3 中手动创建与由 aws model 创建的位置相同的位置,并使用一些时间戳给它命名。 如何将我们自己的个性化 model.tar.gz 文件放在 s3 位置,并使用相同的 s3 位置调用 deploy() function。

所有你需要的是:

  1. 将您的 model 放在model.tar.gz存档中的任意 S3 位置
  2. 在 SageMaker 兼容的 docker 映像中拥有一个推理脚本,该映像能够读取您的model.pkl ,为其提供服务并处理推理。
  3. 创建将您的工件与推理代码相关联的端点

当您请求端点部署时,SageMaker 将负责下载您的model.tar.gz并解压缩到服务器的 docker 映像中的适当位置,即/opt/ml/model

Depending on the framework you use, you may use either a pre-existing docker image (available for Scikit-learn, TensorFlow, PyTorch, MXNet) or you may need to create your own.

  • 关于自定义图像创建,请参见此处的规范和此处的两个自定义容器示例,用于Rsklearn (sklearn 的相关性较低,因为有一个预先构建的 docker 图像以及一个sagemaker sklearn ZF20E1D3D3D40573127E9EE0480CAF1283D6Z和 sklearn 的相关性)
  • 关于利用 Sklearn、PyTorch、MXNet、TF 的现有容器,请查看以下示例: SageMaker Sklearn 容器中的随机森林 在此示例中,没有什么可以阻止您部署在其他地方训练的 model。 请注意,由于训练/部署环境不匹配,您可能会由于某些软件版本差异而运行错误。

关于您的以下经历:

当使用部署方法时,它使用相同的 s3 位置来部署 model,我们不会在 s3 中手动创建与由 aws model 创建的位置相同的位置,并使用一些时间戳给它命名

我同意有时使用SageMaker Python SDK (SageMaker 的众多可用 SDK 之一)的演示可能会产生误导,因为它们经常利用可以部署刚刚训练的Estimator的事实 ( Estimator.deploy(..) ) Estimator.deploy(..) ) 在同一个 session 中,无需实例化将推理代码映射到 model 工件的中间 model 概念。 这种设计大概是为了代码紧凑性而完成的,但在现实生活中,给定 model 的训练和部署很可能通过在不同系统中运行的不同脚本来完成。 It's perfectly possible to deploy a model with training it previously in the same session, you need to instantiate a sagemaker.model.Model object and then deploy it.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM