Boto3 を使ってコンパイル済みモデルをデプロイする - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Boto3 を使ってコンパイル済みモデルをデプロイする

モデルが AWS SDK for Python (Boto3)、、または Amazon SageMaker コンソールを使用してコンパイルされている場合は AWS CLI、前提条件セクションを満たす必要があります。Amazon Web Services SDK for Python (Boto3) を使用して SageMaker Neo コンパイルモデルを作成およびデプロイするには、次の手順に従います。 https://boto3.amazonaws.com/v1/documentation/api/latest/index.html

モデルをデプロイする

前提条件を満たしたら、create_model API、create_enpoint_config API、create_endpoint API を使います。

次の例は、これらの API を使って Neo コンパイル済みモデルをデプロイする方法を示しています。

import boto3 client = boto3.client('sagemaker') # create sagemaker model create_model_api_response = client.create_model( ModelName='my-sagemaker-model', PrimaryContainer={ 'Image': <insert the ECR Image URI>, 'ModelDataUrl': 's3://path/to/model/artifact/model.tar.gz', 'Environment': {} }, ExecutionRoleArn='ARN for AmazonSageMaker-ExecutionRole' ) print ("create_model API response", create_model_api_response) # create sagemaker endpoint config create_endpoint_config_api_response = client.create_endpoint_config( EndpointConfigName='sagemaker-neomxnet-endpoint-configuration', ProductionVariants=[ { 'VariantName': <provide your variant name>, 'ModelName': 'my-sagemaker-model', 'InitialInstanceCount': 1, 'InstanceType': <provide your instance type here> }, ] ) print ("create_endpoint_config API response", create_endpoint_config_api_response) # create sagemaker endpoint create_endpoint_api_response = client.create_endpoint( EndpointName='provide your endpoint name', EndpointConfigName=<insert your endpoint config name>, ) print ("create_endpoint API response", create_endpoint_api_response)
注記

AmazonSageMaker-ExecutionRole IAM ロールに AmazonSageMakerFullAccess ポリシーと AmazonS3ReadOnlyAccess ポリシーをアタッチする必要があります。

create_modelcreate_endpoint_configcreate_endpoint API の完全な構文については、それぞれ「create_model」、「create_endpoint_config」、「create_endpoint」を参照してください。

を使用してモデルをトレーニングしていない場合は SageMaker、次の環境変数を指定します。

MXNet and PyTorch
"Environment": { "SAGEMAKER_PROGRAM": "inference.py", "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code", "SAGEMAKER_CONTAINER_LOG_LEVEL": "20", "SAGEMAKER_REGION": "insert your region", "MMS_DEFAULT_RESPONSE_TIMEOUT": "500" }
TensorFlow
"Environment": { "SAGEMAKER_PROGRAM": "inference.py", "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code", "SAGEMAKER_CONTAINER_LOG_LEVEL": "20", "SAGEMAKER_REGION": "insert your region" }

を使用してモデルをトレーニングした場合は SageMaker、トレーニングスクリプトを含む完全な Amazon S3 バケット URI SAGEMAKER_SUBMIT_DIRECTORYとして 環境変数を指定します。