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.
Bereiten Sie eine Schulung zur Erfassung von TensorBoard Ausgabedaten vor
Ein typischer Trainingsjob für maschinelles Lernen in SageMaker KI besteht aus zwei Hauptschritten: der Vorbereitung eines Trainingsskripts und der Konfiguration eines SageMaker AI-Objekts ModelTrainer (früher Schätzer in PySDK v2) des SageMaker AI-Python-SDK. In diesem Abschnitt erfährst du mehr über die erforderlichen Änderungen, um TensorBoard-compatible Daten aus SageMaker Trainingsjobs zu sammeln.
Voraussetzungen
In der folgenden Liste sind die Voraussetzungen aufgeführt, mit denen Sie mit der Verwendung von SageMaker KI beginnen müssen TensorBoard.
-
Eine SageMaker AI-Domain, die mit Amazon VPC in Ihrem AWS Konto eingerichtet ist.
Anweisungen zum Einrichten einer Domain finden Sie unter Onboarding to Amazon SageMaker AI Domain mithilfe der Schnelleinrichtung. Sie müssen auch Domain-Benutzerprofile für einzelne Benutzer hinzufügen, um TensorBoard auf die on SageMaker AI zugreifen zu können. Weitere Informationen finden Sie unter Benutzerprofil hinzufügen.
-
Amazon EFS muss auf Ihrer Domain aktiviert sein. TensorBoard erfordert ein Amazon EFS-Dateisystem, um zu funktionieren. Für Domänen, die nach dem 1. Juni 2026 mithilfe der Schnellinstallation erstellt wurden, wird EFS bei der Domänenerstellung nicht standardmäßig erstellt. Informationen zum Aktivieren von EFS nach der Domainerstellung finden Sie unter Amazon EFS-Erstellung und automatisches Mounten in Amazon SageMaker Studio.
-
Amazon EFS muss auf Ihrer Domain aktiviert sein. TensorBoard erfordert ein Amazon EFS-Dateisystem, um zu funktionieren. Für Domänen, die nach dem 1. Juni 2026 mithilfe der Schnellinstallation erstellt wurden, wird EFS bei der Domänenerstellung nicht standardmäßig erstellt. Informationen zum Aktivieren von EFS nach der Domainerstellung finden Sie unter Amazon EFS-Erstellung und automatisches Mounten in Amazon SageMaker Studio.
-
Die folgende Liste enthält die Mindestberechtigungen für die Verwendung TensorBoard auf SageMaker AI.
-
sagemaker:CreateApp -
sagemaker:DeleteApp -
sagemaker:DescribeTrainingJob -
sagemaker:Search -
s3:GetObject -
s3:ListBucket
-
Schritt 1: Ändern Sie Ihr Trainingsskript mit TensorBoard Open-Source-Hilfstools
Stellen Sie sicher, dass Sie festlegen, welche Ausgabetensoren und Skalare erfasst werden sollen, und ändern Sie Codezeilen in Ihrem Trainingsskript mit einem der folgenden Tools: TensorBoard X, TensorFlow Summary Writer, PyTorch Summary Writer oder Debugger. SageMaker
Stellen Sie außerdem sicher, dass Sie den TensorBoard Datenausgabepfad als Protokollverzeichnis (log_dir) für den Callback im Trainingscontainer angeben.
Weitere Informationen zu Rückrufen pro Framework finden Sie in den folgenden Ressourcen.
-
Verwenden Sie zum Beispiel PyTorch torch.utils.tensorboard. SummaryWriter
. Siehe auch die Abschnitte „ TensorBoard In“ PyTorch und „ Log-Skalare verwenden“ in den PyTorch Tutorials. Alternativ können Sie TensorBoard X Summary Writer verwenden. LOG_DIR="/opt/ml/output/tensorboard" tensorboard_callback=torch.utils.tensorboard.writer.SummaryWriter(log_dir=LOG_DIR) -
Verwenden Sie zum TensorFlow Beispiel den nativen Callback für TensorBoard, tf.keras.callbacks. TensorBoard
. LOG_DIR="/opt/ml/output/tensorboard" tensorboard_callback=tf.keras.callbacks.TensorBoard( log_dir=LOG_DIR, histogram_freq=1) -
Für Transformers mit PyTorch können Sie transformers.integrations verwenden. TensorBoardCallback
. Verwenden Sie für Transformers mit TensorFlow
tf.keras.tensorboard.callback, und übergeben Sie das an den Keras-Callback in Transformers.Tipp
Sie können jedoch auch einen anderen lokalen Ausgabepfad für den Container verwenden. In müssen Sie die Pfade jedoch korrekt zuordnenSchritt 2: Erstellen Sie ein SageMaker ModelTrainer Trainingsobjekt mit der TensorBoard Ausgabekonfiguration, damit die SageMaker KI den lokalen Pfad erfolgreich durchsuchen und die TensorBoard Daten im S3-Ausgabe-Bucket speichern kann.
-
Anleitungen zum Ändern von Trainingsskripten mithilfe der SageMaker Debugger-Python-Bibliothek finden Sie unterIhr Trainingsskript anpassen, um einen Hook zu registrieren.
Schritt 2: Erstellen Sie ein SageMaker ModelTrainer Trainingsobjekt mit der TensorBoard Ausgabekonfiguration
Verwenden Sie das sagemaker.debugger.TensorBoardOutputConfig bei der Konfiguration einer SageMaker KI ModelTrainer. Diese Konfigurations-API ordnet den S3-Bucket, den Sie zum Speichern von TensorBoard Daten angeben, dem lokalen Pfad im Trainingscontainer zu (/opt/ml/output/tensorboard). Übergeben Sie das Objekt des Moduls an den tensorboard_output_config Parameter der ModelTrainer Klasse. Der folgende Codeausschnitt zeigt ein Beispiel für die Vorbereitung von a TensorFlow ModelTrainer mit dem TensorBoard Ausgabekonfigurationsparameter.
Anmerkung
In diesem Beispiel wird davon ausgegangen, dass Sie das SageMaker Python-SDK verwenden. Wenn Sie die SageMaker Low-Level-API verwenden, sollten Sie Folgendes in die Anforderungssyntax der CreateTrainingJob API aufnehmen.
"TensorBoardOutputConfig": { "LocalPath": "/opt/ml/output/tensorboard", "S3OutputPath": "s3_output_bucket" }
import os from sagemaker.train import ModelTrainer from sagemaker.train.configs import SourceCode from sagemaker.core.debugger import TensorBoardOutputConfig from sagemaker.train.configs import Compute # Set variables for training job information, # such as s3_out_bucket and other unique tags. ... LOG_DIR="/opt/ml/output/tensorboard" output_path = os.path.join( "s3_output_bucket", "sagemaker-output", "date_str", "your-training_job_name" ) tensorboard_output_config = TensorBoardOutputConfig( s3_output_path=os.path.join(output_path, 'tensorboard'), container_local_output_path=LOG_DIR ) model_trainer = ModelTrainer( source_code=SourceCode(entry_script="train.py", source_dir="src"), role=role, training_image=image_uri, compute=Compute(instance_count=1, instance_type="ml.c5.xlarge"), base_job_name="your-training_job_name", tensorboard_output_config=tensorboard_output_config, hyperparameters=hyperparameters)
Anmerkung
Die TensorBoard Anwendung bietet keine sofort einsatzbereite Unterstützung für SageMaker KI-Hyperparameter-Tuning-Jobs, da die CreateHyperParameterTuningJob API nicht in die TensorBoard Ausgabekonfiguration für das Mapping integriert ist. Um die TensorBoard Anwendung für Hyperparameter-Tuning-Jobs zu verwenden, müssen Sie in Ihrem Trainingsskript Code für das Hochladen von Metriken auf Amazon S3 schreiben. Sobald die Metriken in einen Amazon S3-Bucket hochgeladen wurden, können Sie den Bucket in die TensorBoard KI-Anwendung laden. SageMaker