Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Definieren von Schulungsmetriken
SageMaker AI analysiert automatisch Trainingsjob-Protokolle und sendet Trainingsmetriken an CloudWatch. Standardmäßig sendet SageMaker AI Messwerte zur Systemressourcenauslastung, die in SageMaker AI Jobs und Endpunkt Metriken aufgeführt sind. Wenn Sie möchten, dass SageMaker AI Protokolle analysiert und benutzerdefinierte Metriken von einem Trainingsjob Ihres eigenen Algorithmus an CloudWatch sendet, müssen Sie Metrikdefinitionen angeben, indem Sie bei der Konfiguration einer Anforderung für den SageMaker-AI-Trainingsjob den Namen der Metriken und regulären Ausdrücke übergeben.
Sie können die Metriken, die Sie verfolgen möchten, mithilfe der SageMaker-AI-Konsole, des SageMaker AI Python SDK
Wenn Sie Ihren eigenen Algorithmus verwenden, gehen Sie wie folgt vor:
-
Vergewissern Sie sich, dass der Algorithmus die Metriken, die Sie erfassen möchten, in Protokolle schreibt.
-
Definieren Sie einen regulären Ausdruck, der die Protokolle genau durchsucht, um die Werte der Metriken zu erfassen, die Sie an CloudWatch senden möchten.
Nehmen wir zum Beispiel an, dass Ihr Algorithmus die folgenden Metriken für Trainingsfehler und Validierungsfehler ausgibt:
Train_error=0.138318; Valid_error=0.324557;
Wenn Sie diese beiden Metriken in CloudWatch überwachen möchten, sollte das Wörterbuch für die Metrikdefinitionen wie das folgende Beispiel aussehen:
[ { "Name": "train:error", "Regex": "Train_error=(.*?);" }, { "Name": "validation:error", "Regex": "Valid_error=(.*?);" } ]
In der Regex für die train:error -Metrik, die im vorangegangenen Beispiel definiert wurde, findet der erste Teil der Regex den genauen Text "Train_error=", und der Ausdruck (.*?); erfasst alle Zeichen bis zum ersten Semikolonzeichen. In diesem Ausdruck sagt die Klammer dem Regex, dass er das, was sich in ihr befindet, erfassen soll, . bedeutet jedes beliebige Zeichen, * bedeutet kein oder mehr Zeichen und ? bedeutet die Erfassung nur bis zur ersten Abfolge des ;-Zeichens.
Definieren von Metriken mit dem SageMaker AI Python SDK
Definieren Sie die Metriken, die Sie an CloudWatch senden möchten, indem Sie eine Liste von Metriknamen und regulären Ausdrücken als metric_definitions Argument angeben, wenn Sie ein Estimator Objekt initialisieren. Wenn Sie zum Beispiel sowohl die – train:errorals auch die validation:error-Metriken in CloudWatch überwachen möchten, würde Ihre Estimator Initialisierung wie das folgende Beispiel aussehen:
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=(.*?);'} ] )
Weitere Informationen zum Training mit Amazon SageMaker Python SDK
Definieren von Metriken über die SageMaker-AI-Konsole
Wenn Sie bei der Erstellung eines Trainingsjobs die Option Ihren eigenen Algorithmuscontainer in ECR als Ihre Algorithmusquelle in der SageMaker-AI-Konsole wählen, fügen Sie die Metrikdefinitionen im Abschnitt Metriken hinzu. Der folgende Screenshot zeigt, wie es aussehen sollte, nachdem Sie die Namen der Beispielmetriken und die entsprechenden regulären Ausdrücke hinzugefügt haben.
Definieren von Metriken mithilfe der Low-Level SageMaker AI API
Definieren Sie die Metriken, die Sie an CloudWatch senden möchten, indem Sie eine Liste von Metriknamen und regulären Ausdrücken im Feld MetricDefinitions des Eingabeparameters AlgorithmSpecification angeben, den Sie an den Vorgang CreateTrainingJob übergeben. Wenn Sie beispielsweise sowohl die train:error als auch validation:error Metriken in CloudWatch überwachen möchten, würde Ihr AlgorithmSpecification wie das folgende Beispiel aussehen:
"AlgorithmSpecification": { "TrainingImage":your-own-image-uri, "TrainingInputMode": "File", "MetricDefinitions" : [ { "Name": "train:error", "Regex": "Train_error=(.*?);" }, { "Name": "validation:error", "Regex": "Valid_error=(.*?);" } ] }
Weitere Informationen zum Definieren und Ausführen eines Trainingsjobs mithilfe der Low-Level SageMaker AI API finden Sie unter CreateTrainingJob.