

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
<a name="debugger-htb-prepare-training-job"></a>

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
<a name="debugger-htb-prerequisites"></a>

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](https://docs.aws.amazon.com/sagemaker/latest/dg/onboard-quick-start.html). 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](domain-user-profile-add.md).
+ 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. ](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-automount.html)
+ 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. ](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-automount.html)
+ 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
<a name="debugger-htb-prepare-training-job-1"></a>

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](https://pytorch.org/docs/stable/tensorboard.html#module-torch.utils.tensorboard). Siehe auch die [ Abschnitte „ TensorBoard In“ PyTorch [ und „](https://pytorch.org/tutorials/recipes/recipes/tensorboard_with_pytorch.html#using-tensorboard-in-pytorch)Log-Skalare ](https://pytorch.org/tutorials/recipes/recipes/tensorboard_with_pytorch.html#log-scalars) verwenden“ in den * PyTorch Tutorials*. Alternativ können Sie [ TensorBoard X Summary Writer ](https://tensorboardx.readthedocs.io/en/latest/tutorial.html) 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](https://www.tensorflow.org/api_docs/python/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](https://huggingface.co/docs/transformers/main/en/main_classes/callback#transformers.integrations.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 zuordnen[Schritt 2: Erstellen Sie ein SageMaker ModelTrainer Trainingsobjekt mit der TensorBoard Ausgabekonfiguration](#debugger-htb-prepare-training-job-2), 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 unter[Ihr Trainingsskript anpassen, um einen Hook zu registrieren](debugger-modify-script.md).

## Schritt 2: Erstellen Sie ein SageMaker ModelTrainer Trainingsobjekt mit der TensorBoard Ausgabekonfiguration
<a name="debugger-htb-prepare-training-job-2"></a>

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 ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html) 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`](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html) 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 