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 analysiert automatisch die Protokolle von Trainingsaufträgen und sendet Trainingsmetriken an CloudWatch. SageMaker Sendet standardmäßig Messwerte zur Systemressourcenauslastung, die unter SageMaker Jobs und Endpunktmetriken aufgeführt sind. Wenn Sie Logs analysieren und benutzerdefinierte Metriken aus einem Trainingsjob Ihres eigenen Algorithmus an diese senden möchten SageMaker CloudWatch, müssen Sie bei der Konfiguration einer SageMaker Trainingsjob-Anfrage Metrikdefinitionen angeben, indem Sie die Namen der Metriken und reguläre Ausdrücke übergeben.
Sie können die Metriken, die Sie verfolgen möchten, mit der SageMaker KonsoleSDK, SageMaker Python
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, an die Sie senden möchten CloudWatch.
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 überwachen möchten CloudWatch, 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.
Metriken mit SageMaker Python definieren SDK
Definieren Sie die Metriken, an die Sie senden möchten, CloudWatch indem Sie bei der Initialisierung eines Estimator
Objekts eine Liste von Metriknamen und regulären Ausdrücken als metric_definitions
Argument angeben. Wenn Sie beispielsweise sowohl die als auch die train:error
validation:error
Metriken in überwachen möchten CloudWatch, würde Ihre Estimator
Initialisierung wie folgt 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 mithilfe von Amazon SageMaker SDK Python-Schätzern finden Sie unter Sagemaker
Definieren Sie Metriken mithilfe der Konsole SageMaker
Wenn Sie bei der Erstellung eines Trainingsjobs die ECR Option „Ihr eigener Algorithmuscontainer in“ als Algorithmusquelle in der SageMaker 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 Sie Metriken mithilfe der Low-Level-Methode SageMaker API
Definieren Sie die Metriken, an die Sie senden möchten, CloudWatch indem Sie im MetricDefinitions
Feld des AlgorithmSpecification
Eingabeparameters, den Sie an den CreateTrainingJob
Vorgang übergeben, eine Liste mit Metriknamen und regulären Ausdrücken angeben. Wenn Sie beispielsweise sowohl die als auch die train:error
validation:error
Metriken in überwachen möchten CloudWatch, AlgorithmSpecification
würden Sie wie folgt 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-Methode finden Sie SageMaker API unter CreateTrainingJob
.