如何在不使用jupyter笔记本实例(无服务器)的情况下在Sagemaker上以脚本模式训练和部署模型?

时间:2020-07-22 00:19:39

标签: amazon-web-services tensorflow jupyter-notebook amazon-sagemaker

我一直在使用jupyter笔记本实例来启动培训工作(在单独的实例上)并部署端点(在另一个实例上)。我正在为此使用sagemaker tensorflow API,如下所示:

# create Tensorflow object and provide and entry point script
tf_estimator = TensorFlow(entry_point='tf-train.py', role='SageMakerRole',
                      train_instance_count=1, train_instance_type='ml.p2.xlarge',
                      framework_version='1.12', py_version='py3')

# train model on data on s3 and save model artifacts to s3
tf_estimator.fit('s3://bucket/path/to/training/data')

# deploy model on another instance using checkpoints saved on S3
predictor = estimator.deploy(initial_instance_count=1,
                         instance_type='ml.c5.xlarge',
                         endpoint_type='tensorflow-serving')

我一直在通过jupyter笔记本实例执行所有这些步骤。我可以使用哪些AWS服务摆脱jupyter笔记本实例的依赖关系,并以无服务器方式自动化这些训练和部署模型的任务?

1 个答案:

答案 0 :(得分:2)

我推荐AWS Step Functions。由于它与SageMaker Batch Transform事件规则集成,因此一直用于计划CloudWatch和预处理作业。它还可以训练模型,执行hpo调整并与lambda集成。有一个SageMaker / Step Functions SDK,您可以通过创建状态机直接使用Step Functions。一些示例和文档:

https://aws.amazon.com/about-aws/whats-new/2019/11/introducing-aws-step-functions-data-science-sdk-amazon-sagemaker/

https://docs.aws.amazon.com/step-functions/latest/dg/connect-sagemaker.html

相关问题