

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.

# Programación de trabajos de supervisión de la calidad del modelo
<a name="model-monitor-model-quality-schedule"></a>

Una vez que haya creado su referencia, puede utilizar el método `create_monitoring_schedule()` de la instancia de clase `ModelQualityMonitor` para programar una supervisión de calidad del modelo cada hora. En las siguientes secciones, se muestra cómo crear un monitor de calidad del modelo para un modelo implementado en un punto de conexión en tiempo real, así como para un trabajo de transformación por lotes.

**importante**  
Puede especificar una entrada de transformación por lotes o una entrada de punto de conexión, pero no ambas, al crear su programa de supervisión.

A diferencia de la supervisión de la calidad de los datos, debe suministrar etiquetas Ground Truth si desea supervisar la calidad del modelo. Sin embargo, las etiquetas de Ground Truth podrían retrasarse. Para solucionar este problema, especifique los desplazamientos al crear su programa de supervisión. 

## Desplazamientos del monitor de modelos
<a name="model-monitor-model-quality-schedule-offsets"></a>

Los trabajos de calidad del modelo incluyen `StartTimeOffset` y `EndTimeOffset`, que son campos del parámetro `ModelQualityJobInput` del método `create_model_quality_job_definition` que funcionan de la siguiente manera:
+ `StartTimeOffset`: si se especifica, los trabajos restan este tiempo de la hora de inicio.
+ `EndTimeOffset`: si se especifica, los trabajos restan este tiempo de la hora de finalización.

El formato de las compensaciones es, por ejemplo, - PT7 H, donde 7H son 7 horas. Puede usar -PT\$1H o -P\$1D, donde H=horas, D=días y M=minutos, y \$1 es el número. Además, el desplazamiento debe tener el [formato de duración ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Durations).

Por ejemplo, si Ground Truth comienza a llegar después de 1 día, pero no se completa hasta dentro de una semana, establezca `StartTimeOffset` en `-P8D` y `EndTimeOffset` en `-P1D`. Luego, si programa un trabajo para que se ejecute el `2020-01-09T13:00`, analizará los datos entre `2020-01-01T13:00` y`2020-01-08T13:00`.

**importante**  
La cadencia de la programación debe ser tal que una ejecución finalice antes de que comience la siguiente, lo que permite que Ground Truth combine el trabajo y supervise el trabajo desde la ejecución hasta que se complete. El tiempo de ejecución máximo de una ejecución se divide entre los dos trabajos, por lo que, en el caso de un trabajo de supervisión de la calidad del modelo cada hora, el valor de `MaxRuntimeInSeconds` especificado como parte de `StoppingCondition` no debe ser superior a 1800.

## Supervisión de la calidad del modelo para los modelos implementados en puntos de conexión en tiempo real
<a name="model-monitor-data-quality-schedule-rt"></a>

Para programar un monitor de calidad del modelo para un punto de conexión en tiempo real, pase la instancia `EndpointInput` al argumento `endpoint_input` de la instancia `ModelQualityMonitor`, como se muestra en el siguiente ejemplo de código:

```
from sagemaker.model_monitor import CronExpressionGenerator
                    
model_quality_model_monitor = ModelQualityMonitor(
   role=sagemaker.get_execution_role(),
   ...
)

schedule = model_quality_model_monitor.create_monitoring_schedule(
   monitor_schedule_name=schedule_name,
   post_analytics_processor_script=s3_code_postprocessor_uri,
   output_s3_uri=s3_report_path,
   schedule_cron_expression=CronExpressionGenerator.hourly(),    
   statistics=model_quality_model_monitor.baseline_statistics(),
   constraints=model_quality_model_monitor.suggested_constraints(),
   schedule_cron_expression=CronExpressionGenerator.hourly(),
   enable_cloudwatch_metrics=True,
   endpoint_input=EndpointInput(
        endpoint_name=endpoint_name,
        destination="/opt/ml/processing/input/endpoint",
        start_time_offset="-PT2D",
        end_time_offset="-PT1D",
    )
)
```

## Supervisión de la calidad del modelo para trabajos de transformación por lotes
<a name="model-monitor-data-quality-schedule-tt"></a>

Para programar un monitor de calidad del modelo para un trabajo de transformación por lotes, pase la instancia `BatchTransformInput` al argumento `batch_transform_input` de la instancia `ModelQualityMonitor`, como se muestra en el siguiente ejemplo de código:

```
from sagemaker.model_monitor import CronExpressionGenerator

model_quality_model_monitor = ModelQualityMonitor(
   role=sagemaker.get_execution_role(),
   ...
)

schedule = model_quality_model_monitor.create_monitoring_schedule(
    monitor_schedule_name=mon_schedule_name,
    batch_transform_input=BatchTransformInput(
        data_captured_destination_s3_uri=s3_capture_upload_path,
        destination="/opt/ml/processing/input",
        dataset_format=MonitoringDatasetFormat.csv(header=False),
        # the column index of the output representing the inference probablity
        probability_attribute="0",
        # the threshold to classify the inference probablity to class 0 or 1 in 
        # binary classification problem
        probability_threshold_attribute=0.5,
        # look back 6 hour for transform job outputs.
        start_time_offset="-PT6H",
        end_time_offset="-PT0H"
    ),
    ground_truth_input=gt_s3_uri,
    output_s3_uri=s3_report_path,
    problem_type="BinaryClassification",
    constraints = constraints_path,
    schedule_cron_expression=CronExpressionGenerator.hourly(),
    enable_cloudwatch_metrics=True,
)
```