

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Test de modèles avec des variantes shadow
<a name="model-shadow-deployment"></a>

 Vous pouvez utiliser SageMaker AI Model Shadow Deployments pour créer des variantes fantômes de longue durée afin de valider tout nouveau composant candidat de votre stack de serveurs de modèles avant de le promouvoir en production. Le diagramme suivant montre de façon détaillée comment les variantes shadow fonctionnent. 

![Détails d'une variante shadow.](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/juxtaposer/shadow-variant.png)


## Déployer des variantes shadow
<a name="model-shadow-deployment-deploy"></a>

 L'exemple de code suivant montre comment vous pouvez déployer par programmation des variantes shadow. Remplacez le {{user placeholder text}} dans l'exemple par vos propres informations. 

1.  Créez deux modèles d' SageMaker IA : un pour votre variante de production et un pour votre variante fantôme. 

   ```
   import boto3
   from sagemaker import get_execution_role, Session
                   
   aws_region = "{{aws-region}}"
   
   boto_session = boto3.Session(region_name=aws_region)
   sagemaker_client = boto_session.client("sagemaker")
   
   role = get_execution_role()
   
   bucket = Session(boto_session).default_bucket()
   
   model_name1 = "{{name-of-your-first-model}}"
   model_name2 = "{{name-of-your-second-model}}"
   
   sagemaker_client.create_model(
       ModelName = model_name1,
       ExecutionRoleArn = role,
       Containers=[
           {
               "Image": "{{ecr-image-uri-for-first-model}}",
               "ModelDataUrl": "{{s3-location-of-trained-first-model}}" 
           }
       ]
   )
   
   sagemaker_client.create_model(
       ModelName = model_name2,
       ExecutionRoleArn = role,
       Containers=[
           {
               "Image": "{{ecr-image-uri-for-second-model}}",
               "ModelDataUrl": "{{s3-location-of-trained-second-model}}" 
           }
       ]
   )
   ```

1.  Créez une configuration de point de terminaison. Spécifiez à la fois vos variantes de production et shadow dans la configuration. 

   ```
   endpoint_config_name = {{name-of-your-endpoint-config}}
   
   create_endpoint_config_response = sagemaker_client.create_endpoint_config(
       EndpointConfigName=endpoint_config_name,
       ProductionVariants=[
           {
               "VariantName": {{name-of-your-production-variant}},
               "ModelName": model_name1,
               "InstanceType": {{"ml.m5.xlarge"}},
               "InitialInstanceCount": {{1}},
               "InitialVariantWeight": {{1}},
           }
       ],
       ShadowProductionVariants=[
           {
               "VariantName": {{name-of-your-shadow-variant}},
               "ModelName": model_name2,
               "InstanceType": {{"ml.m5.xlarge"}},
               "InitialInstanceCount": {{1}},
               "InitialVariantWeight": {{1}},
           }
      ]
   )
   ```

1. Créez un point de terminaison .

   ```
   create_endpoint_response = sm.create_endpoint(
       EndpointName={{name-of-your-endpoint}},
       EndpointConfigName=endpoint_config_name,
   )
   ```