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 Die KI analysiert automatisch die Protokolle der Trainingsjobs und sendet Trainingsmetriken an CloudWatch. Standardmäßig sendet SageMaker KI Kennzahlen zur Auslastung der Systemressourcen, die in SageMaker AI-Jobs und Endpunktmetriken aufgeführt sind. Wenn Sie möchten, dass SageMaker KI Protokolle analysiert und benutzerdefinierte Metriken aus einem Trainingsjob Ihres eigenen Algorithmus an Sie sendet CloudWatch, müssen Sie Metrikdefinitionen angeben, indem Sie den Namen der Metriken und reguläre Ausdrücke übergeben, wenn Sie eine SageMaker KI-Schulungsanfrage konfigurieren.
Sie können die Metriken, die Sie verfolgen möchten, mithilfe der SageMaker AI-Konsole, des AI-Python-SDK oder der
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 im folgenden Beispiel aussehen:
[ { "Name": "train:error", "Regex": "Train_error=(.*?);" }, { "Name": "validation:error", "Regex": "Valid_error=(.*?);" } ]
In der Regex für die im vorherigen Beispiel definierte train:error Metrik findet der erste Teil der Regex den exakten Text "Train_error=“, und der Ausdruck (.*?); erfasst alle Zeichen, bis das erste Semikolon erscheint. 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 Sie Metriken mithilfe des AI Python SDK SageMaker
Definieren Sie die Metriken, an die Sie senden möchten, CloudWatch indem Sie AlgorithmSpecification beim Erstellen einer TrainingJob Verwendung eine Liste von Metrikdefinitionen angebensagemaker-core. Wenn Sie beispielsweise sowohl die als auch die train:error validation:error Messwerte überwachen möchten CloudWatch, würde Ihr TrainingJob.create() Anruf wie im folgenden Beispiel aussehen:
from sagemaker.core.resources import TrainingJob from sagemaker.core.shapes import ( AlgorithmSpecification, MetricDefinition, ResourceConfig, OutputDataConfig, StoppingCondition, ) TrainingJob.create( training_job_name="my-training-job", role_arn="arn:aws:iam::123456789012:role/SageMakerRole", algorithm_specification=AlgorithmSpecification( training_image="your-own-image-uri", training_input_mode="File", metric_definitions=[ MetricDefinition(name="train:error", regex="Train_error=(.*?);"), MetricDefinition(name="validation:error", regex="Valid_error=(.*?);"), ], ), resource_config=ResourceConfig( instance_type="ml.c4.xlarge", instance_count=1, volume_size_in_gb=30, ), output_data_config=OutputDataConfig(s3_output_path="s3://bucket/output"), stopping_condition=StoppingCondition(max_runtime_in_seconds=3600), )
Weitere Informationen zum Training mithilfe des Amazon SageMaker Python SDK
Definieren Sie Metriken mithilfe der SageMaker AI-Konsole
Wenn Sie in der SageMaker AI-Konsole beim Erstellen eines Trainingsjobs die Option Ihr eigener Algorithmus-Container in ECR als Algorithmusquelle 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 SageMaker AI-API
Definieren Sie die Metriken, an die Sie senden möchten, CloudWatch indem Sie eine Liste mit Metriknamen und regulären Ausdrücken im MetricDefinitions Feld des AlgorithmSpecification Eingabeparameters angeben, den Sie an die CreateTrainingJob Operation übergeben. Wenn Sie beispielsweise sowohl die train:error validation:error Metriken als auch überwachen möchten CloudWatch, AlgorithmSpecification würden Sie wie im folgenden 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 SageMaker Low-Level-AI-API finden Sie unter CreateTrainingJob.