

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Modelli di test con varianti ombra
<a name="model-shadow-deployment"></a>

 È possibile utilizzare implementazioni shadow dei modelli di SageMaker AI per creare varianti shadow di lunga durata, in modo da convalidare qualsiasi nuovo componente candidato dello stack di distribuzione dei modelli prima di promuoverlo alla produzione. Il diagramma seguente ne mostra il funzionamento delle varianti shadow in modo più dettagliato. 

![\[Dettagli di una variante shadow.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/juxtaposer/shadow-variant.png)


## Implementa varianti shadow
<a name="model-shadow-deployment-deploy"></a>

 L'esempio di codice seguente mostra come è possibile implementare varianti shadow a livello di codice, Sostituisci il *testo segnaposto dell'utente* dell’esempio con le tue informazioni. 

1.  Crea due modelli SageMaker AI: uno per la tua variante di produzione e l’altro per la tua variante shadow. 

   ```
   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.  Crea una configurazione endpoint Specifica sia la variante di produzione che quella shadow nella configurazione. 

   ```
   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. Crea un endpoint.

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