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
SageMaker analyse automatiquement les journaux des tâches de formation et envoie les indicateurs de formation à CloudWatch. Par défaut, SageMaker envoie les métriques d'utilisation des ressources du système répertoriées dans SageMaker Jobs et Endpoint Metrics. Si vous SageMaker souhaitez analyser les journaux et envoyer 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 tâche de SageMaker formation.
Vous pouvez spécifier les métriques que vous souhaitez suivre à l'aide de la SageMaker console, du SageMaker Python SDK
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 afin de capturer les valeurs des métriques auxquelles vous souhaitez envoyer des données 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_error= » 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éfinir des métriques à l'aide du SageMaker Python SDK
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 SDK estimateurs Amazon SageMaker Python
Définir des métriques à l'aide de la SageMaker console
Si vous choisissez l'ECRoption Votre propre conteneur d'algorithmes comme source d'algorithme dans la SageMaker console 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.
Définissez des métriques à l'aide du bas niveau SageMaker API
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 AlgorithmSpecification
d'entrée que vous transmettez à l'CreateTrainingJob
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 du niveau inférieur SageMaker API, consultez CreateTrainingJob
.