Bereiten Sie eine Schulung zur Erfassung von TensorBoard Ausgabedaten vor - Amazon SageMaker KI

View a markdown version of this page

Bereiten Sie eine Schulung zur Erfassung von TensorBoard Ausgabedaten vor - Amazon SageMaker KI

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.

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