

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Prueba de modelos con variantes de sombra
<a name="model-shadow-deployment"></a>

 Puede utilizar SageMaker AI Model Shadow Deployments para crear variantes ocultas de larga duración para validar cualquier nuevo componente candidato de su pila de servidores de modelos antes de promocionarlo a producción. El siguiente diagrama muestra con más detalle cómo funcionan las variantes ocultas. 

![\[Detalles de una variante oculta.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/juxtaposer/shadow-variant.png)


## Implementación de variantes ocultas
<a name="model-shadow-deployment-deploy"></a>

 En el siguiente ejemplo de código se muestra cómo se pueden implementar variantes ocultas mediante programación. Sustituya el *texto del marcador de usuario* del ejemplo por su propia información. 

1.  Cree dos modelos de SageMaker AI: uno para la variante de producción y otro para la variante oculta. 

   ```
   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.  Creación de una configuración de punto de conexión. Especifique las variantes de producción y ocultas en la configuración. 

   ```
   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. Cree un punto de conexión.

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