

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.

# Définition de métriques de formation
<a name="define-train-metrics"></a>

SageMaker L'IA analyse automatiquement les journaux des tâches de formation et envoie les indicateurs de formation à CloudWatch. Par défaut, l' SageMaker IA envoie les mesures d'utilisation des ressources du système répertoriées dans [SageMaker AI Jobs et Endpoint Metrics](https://docs.aws.amazon.com/sagemaker/latest/dg/monitoring-cloudwatch.html#cloudwatch-metrics-jobs). Si vous souhaitez que l' SageMaker IA analyse les journaux et envoie des métriques personnalisées à partir d'une tâche de formation créée par votre propre algorithme CloudWatch, vous devez spécifier les définitions des métriques en transmettant le nom des métriques et des expressions régulières lorsque vous configurez une demande de formation SageMaker AI.

Vous pouvez spécifier les métriques que vous souhaitez suivre à l'aide de la console SageMaker AI, du [SDK SageMaker AI Python](https://github.com/aws/sagemaker-python-sdk) ou de l'API SageMaker AI de bas niveau.

Si vous utilisez votre propre algorithme, procédez comme suit :
+ Assurez-vous que l’algorithme émet les métriques que vous souhaitez collecter pour les journaux.
+ Définissez une expression régulière qui effectue des recherches précises dans les journaux pour capturer les valeurs des métriques auxquelles vous souhaitez envoyer CloudWatch.

Par exemple, supposons que votre algorithme émette les métriques suivantes pour les erreurs d’entraînement et de validation :

```
Train_error=0.138318;  Valid_error=0.324557;
```

Si vous souhaitez surveiller ces deux métriques dans CloudWatch, le dictionnaire des définitions de métriques doit ressembler à l'exemple suivant :

```
[
    {
        "Name": "train:error",
        "Regex": "Train_error=(.*?);"
    },
    {
        "Name": "validation:error",
        "Regex": "Valid_error=(.*?);"
    }    
]
```

Dans l’expression régulière pour la métrique `train:error` définie dans l’exemple précédent, la première partie de l’expression régulière trouve le texte exact « Train\$1error= » et l’expression `(.*?);` capture tous les caractères jusqu’à ce que le premier caractère point-virgule apparaisse. Dans cette expression, la parenthèse indiquent au regex de capturer ce qui est à l’intérieur de celle-ci, `.` signifie n’importe quel caractère, `*` signifie aucun ou plusieurs caractères et `?` signifie capturer uniquement jusqu’à ce que la première instance du caractère `;`.

## Définissez des métriques à l'aide du SDK SageMaker AI Python
<a name="define-train-metrics-sdk"></a>

Définissez les métriques auxquelles vous souhaitez envoyer CloudWatch en spécifiant une liste de noms de métriques et d'expressions régulières comme `metric_definitions` argument lorsque vous initialisez un `Estimator` objet. Par exemple, si vous souhaitez surveiller à la fois les `validation:error` métriques `train:error` et dans CloudWatch, votre `Estimator` initialisation ressemblera à l'exemple suivant :

```
import sagemaker
from sagemaker.estimator import Estimator

estimator = Estimator(
    image_uri="your-own-image-uri",
    role=sagemaker.get_execution_role(), 
    sagemaker_session=sagemaker.Session(),
    instance_count=1,
    instance_type='ml.c4.xlarge',
    metric_definitions=[
       {'Name': 'train:error', 'Regex': 'Train_error=(.*?);'},
       {'Name': 'validation:error', 'Regex': 'Valid_error=(.*?);'}
    ]
)
```

Pour plus d'informations sur la formation à l'aide des estimateurs du [SDK Amazon SageMaker Python](https://sagemaker.readthedocs.io/en/stable), consultez Sagemaker [Python](https://github.com/aws/sagemaker-python-sdk#sagemaker-python-sdk-overview) SDK on. GitHub 

## Définissez des métriques à l'aide de la console SageMaker AI
<a name="define-train-metrics-console"></a>

Si vous choisissez l'option **Votre propre conteneur d'algorithmes dans ECR** comme source d'algorithme dans la console SageMaker AI lorsque vous créez une tâche de formation, ajoutez les définitions des métriques dans la section **Mesures**. La capture d’écran suivante montre à quoi cela devrait ressembler après avoir ajouté les exemples de noms de métriques et les expressions régulières correspondantes.

![\[Exemple de formulaire d’options d’algorithme dans la console.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/training-metrics-using-smconsole.png)


## Définissez des métriques à l'aide de l'API d' SageMaker IA de bas niveau
<a name="define-train-metrics-api"></a>

Définissez les métriques auxquelles vous souhaitez envoyer CloudWatch en spécifiant une liste de noms de métriques et d'expressions régulières dans le `MetricDefinitions` champ du paramètre [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AlgorithmSpecification.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AlgorithmSpecification.html)d'entrée que vous transmettez à l'[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html)opération. Par exemple, si vous souhaitez surveiller à la fois les `validation:error` métriques `train:error` et dans CloudWatch, vous `AlgorithmSpecification` ressemblerez à l'exemple suivant :

```
"AlgorithmSpecification": {
    "TrainingImage": your-own-image-uri,
    "TrainingInputMode": "File",
    "MetricDefinitions" : [
        {
            "Name": "train:error",
            "Regex": "Train_error=(.*?);"
        },
        {
            "Name": "validation:error",
            "Regex": "Valid_error=(.*?);"
        }
    ]
}
```

Pour plus d'informations sur la définition et l'exécution d'une tâche de formation à l'aide de l'API d' SageMaker IA de bas niveau, consultez [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html).