Python 3.x SageMaker脚本模式服务
我使用SageMaker脚本模式训练了tensorflow.keras模型,如下所示:Python 3.x SageMaker脚本模式服务,python-3.x,amazon-web-services,tensorflow-serving,amazon-sagemaker,Python 3.x,Amazon Web Services,Tensorflow Serving,Amazon Sagemaker,我使用SageMaker脚本模式训练了tensorflow.keras模型,如下所示: import os import sagemaker from sagemaker.tensorflow import TensorFlow estimator = TensorFlow(entry_point='train.py', source_dir='src', train_instance_type=tr
import os
import sagemaker
from sagemaker.tensorflow import TensorFlow
estimator = TensorFlow(entry_point='train.py',
source_dir='src',
train_instance_type=train_instance_type,
train_instance_count=1,
hyperparameters=hyperparameters,
role=sagemaker.get_execution_role(),
framework_version='1.12.0',
py_version='py3',
script_mode=True)
但是,在调用
estimator.deploy()
时,如何指定服务代码是什么?默认情况下是什么?还有没有办法使用脚本模式修改nginx.conf?Tensorflow容器是开源的:您可以查看它的工作方式。当然,您可以调整它,在本地构建它,将它推送到ECR并在SageMaker上使用:)
通常,可以通过两种方式进行部署:
- 基于Python的端点:
- TensorFlow服务端点:
我还建议看一下这里的TensorFlow示例:在脚本模式下,默认的服务方法是基于TensorFlow服务的方法: 基于TFS的容器不允许使用自定义脚本。您可以使用SERVICE_input_receiver_fn指定输入数据的处理方式,如下所述: 至于修改ngnix.conf,没有支持的方法。根据您想要在配置文件中更改的内容,您可以破解sagemaker python sdk,为这些环境变量传递不同的值:
在这里可以覆盖环境变量:Hi。是的,我以前一直在建造它,并推动ECR。想知道我是否可以为了方便而使用脚本模式,但仍然指定我的服务脚本?SageMaker说:SageMaker提供了两个不同的选项,用于将TensorFlow模型部署到SageMaker端点:第一个选项使用基于Python的服务器,允许您在Python脚本中指定自己的自定义输入和输出处理函数。这是默认选项。第二个选项使用基于TensorFlow服务的服务器来提供TensorFlow服务RESTAPI的超集。此选项不需要(或允许)自定义python script.Hmm。以前读过,但现在重读一遍,我想我也许可以这样做。python服务堆栈仍然使用它们自己的service.py,但是也许我不需要修改它来获得我想要的?我创建模型。但是找不到ngnix.conf错误@Austin