借助AWS SageMaker,是否可以使用sagemaker SDK部署预训练的模型?

时间:2019-02-28 01:07:50

标签: python amazon-web-services scikit-learn amazon-sagemaker

我试图避免将现有的模型训练过程迁移到SageMaker,并避免创建自定义Docker容器来承载我们的训练模型。

我的希望是将我们现有的,经过训练的模型注入AWS通过sagemaker-python-sdk提供的预先构建的scikit学习容器中。我发现的所有示例都需要先训练模型,然后再在SageMaker中创建模型/模型配置。然后使用deploy方法进行部署。

是否可以为deploy方法提供经过训练的模型,并将其托管在AWS提供的预先构建的scikit学习容器中?

作为参考,the examples我见过遵循以下操作顺序:

  1. 创建sagemaker.sklearn.estimator.SKLearn的实例并提供训练脚本
  2. 在其上调用fit方法
  3. 这将在SageMaker中创建模型/模型配置
  4. deploy实例上调用SKLearn方法,该方法自动获取在第2/3步中创建的模型,并将其作为HTTPS端点部署在预构建scikit学习容器中。

1 个答案:

答案 0 :(得分:1)

是的,您可以将现有模型导入SageMaker。

对于scikit-learn,您可以使用SKLearnModel()对象从S3加载模型并在SageMaker中创建它。然后,您可以照常部署它。

https://sagemaker.readthedocs.io/en/latest/sagemaker.sklearn.html

这是一个基于MXNet的完整示例,它将为您指明正确的方向: https://github.com/awslabs/amazon-sagemaker-examples/blob/master/sagemaker-python-sdk/mxnet_onnx_superresolution/mxnet_onnx.ipynb