Déploiement d'un modèle compilé à l'aide de Boto3 - Amazon SageMaker

Déploiement d'un modèle compilé à l'aide de Boto3

Vous devez satisfaire les prérequis si le modèle a été compilé à l'aide du AWS SDK for Python (Boto3), de la AWS CLI ou de la console Amazon SageMaker. Procédez comme suit pour créer et déployer un modèle SageMaker Neo-compilé à l'aide du SDK Amazon Web Services for Python (Boto3).

Déploiement du modèle

Une fois les prérequis satisfaits, utilisez les API create_model, create_enpoint_config et create_endpoint.

L'exemple suivant montre comment utiliser ces API pour déployer un modèle compilé avec 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)
Note

Les stratégies AmazonSageMakerFullAccess et AmazonS3ReadOnlyAccess doivent être attachées au rôle IAM AmazonSageMaker-ExecutionRole.

Pour obtenir la syntaxe complète des API create_model, create_endpoint_config et create_endpoint, veuillez consulter create_model, create_endpoint_config et create_endpoint, respectivement.

Si vous n'avez pas entraîné votre modèle à l'aide de SageMaker, spécifiez les variables d'environnement suivantes :

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" }

Si vous avez entraîné votre modèle à l'aide de SageMaker, spécifiez la variable d'environnement SAGEMAKER_SUBMIT_DIRECTORY comme l'URI complet du compartiment Amazon S3 contenant le script d'entraînement.