SageMaker的PyTorch部署过程有改变吗?

0

【以下的问题经过翻译处理】 SageMaker PyTorch部署流程变了吗?过去,人们需要在s3中有model.tar.gz,并在本地或git中有推理脚本。现在,看起来推理脚本也必须是model.tar.gz的一部分。这是新的吗? 根据文档https://sagemaker.readthedocs.io/en/stable/frameworks/pytorch/using_pytorch.html#for-versions-1-2-and-higher

  • 对于PyTorch版本1.2及更高版本,model.tar.gz的内容应按以下方式组织:
  • 顶级目录中的模型文件
  • 推理脚本(和任何其他源文件)在名为code/的目录中(有关推理脚本的更多信息,请参见SageMaker PyTorch模型服务器)
  • 可选的要求文件位于code/requirements.txt中(有关要求文件的更多信息,请参见使用第三方库)

这可能令人困惑,因为这种新的部署模式意味着创建模型工件的人需要提前了解推理的样子。先前的设计,工件和推理代码的分离,更加灵活。

profile picture
专家
已提问 8 个月前12 查看次数
1 回答
0

【以下的回答经过翻译处理】 当发布[AWS示例-BERT样本使用torch 1.4](https://github.com/aws-samples/amazon-sagemaker-bert-classify-pytorch)时,需要先了解推理的先验知识。如果使用PyTorch SageMaker SDK在训练模型后创建或部署模型,则会自动重新封装model.tar.gz以包括代码文件和推理文件。例如,当您使用以下脚本时,model.tar.gz会被重新包装,因此源目录的内容会自动添加到仅包含模型文件的代码目录model.tar.gz中。您不需要预先知道推理代码。


model_uri = estimator.model_data
model = PyTorchModel(model_data=model_uri,
                     role=role,
                     framework_version='1.4.0',
                     entry_point='serve.py',
                     source_dir='src')

predictor = model.deploy(initial_instance_count=1, instance_type='ml.p3.2xlarge')```

对于旧版本,除非构建自定义容器,否则无法在推理过程中包含其他文件/依赖项。source.tar.gz仅在训练中使用。
profile picture
专家
已回答 8 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则