

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.

# Visualisieren Sie Amazon SageMaker Debugger-Ausgabetensoren in TensorBoard
<a name="debugger-enable-tensorboard-summaries"></a>

**Wichtig**  
Diese Seite ist zugunsten von Amazon SageMaker AI with veraltet, das eine umfassende TensorBoard Erfahrung bietet TensoBoard, die in SageMaker Training und die Zugriffskontrollfunktionen von SageMaker AI Domain integriert ist. Weitere Informationen hierzu finden Sie unter [TensorBoard in Amazon SageMaker AI](tensorboard-on-sagemaker.md).

Verwenden Sie SageMaker Debugger, um Ausgabetensordateien zu erstellen, die kompatibel sind mit. TensorBoard Laden Sie die Dateien, um Ihre SageMaker Trainingsjobs zu visualisieren TensorBoard und zu analysieren. Der Debugger generiert automatisch Ausgabetensordateien, die kompatibel sind mit. TensorBoard Für jede Hook-Konfiguration, die Sie zum Speichern von Ausgabetensoren anpassen, bietet Debugger die Flexibilität, skalare Zusammenfassungen, Verteilungen und Histogramme zu erstellen, in die Sie importieren können. TensorBoard 

![\[Ein Architekturdiagramm des Debugger-Mechanismus zum Speichern von Ausgabetensoren.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/debugger/debugger-tensorboard-concept.png)


Sie können dies aktivieren, indem Sie `DebuggerHookConfig` und `TensorBoardOutputConfig` Objekte an eine `estimator` übergeben.

Das folgende Verfahren erklärt, wie Skalare, Gewichte und systematische Abweichungen als vollständige Tensoren, Histogramme und Verteilungen gespeichert werden, mit denen visualisiert werden kann. TensorBoard Der Debugger speichert sie im lokalen Pfad des Trainingscontainers (der Standardpfad ist `/opt/ml/output/tensors`) und synchronisiert sie mit den Amazon S3-Speicherorten, die über die Debugger-Ausgabekonfigurationsobjekte übergeben wurden.

**Um kompatible Ausgabetensordateien mit dem Debugger zu speichern TensorBoard**

1. Richten Sie ein `tensorboard_output_config` Konfigurationsobjekt ein, um die TensorBoard Ausgabe mithilfe der `TensorBoardOutputConfig` Debugger-Klasse zu speichern. Geben Sie für den `s3_output_path` Parameter den Standard-S3-Bucket der aktuellen SageMaker AI-Sitzung oder einen bevorzugten S3-Bucket an. In diesem Beispiel wird der `container_local_output_path` Parameter nicht hinzugefügt, sondern auf den lokalen Standardpfad `/opt/ml/output/tensors` gesetzt.

   ```
   import sagemaker
   from sagemaker.debugger import TensorBoardOutputConfig
   
   bucket = sagemaker.Session().default_bucket()
   tensorboard_output_config = TensorBoardOutputConfig(
       s3_output_path='s3://{}'.format(bucket)
   )
   ```

   Weitere Informationen finden Sie unter der `[TensorBoardOutputConfig](https://sagemaker.readthedocs.io/en/stable/api/training/debugger.html#sagemaker.debugger.TensorBoardOutputConfig)` Debugger-API im [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable).

1. Konfigurieren Sie den Debugger-Hook und passen Sie die Hook-Parameterwerte an. Der folgende Code konfiguriert beispielsweise einen Debugger-Hook so, dass alle skalaren Ausgaben in Trainingsphasen alle 100 Schritte und in Validierungsphasen alle 10 Schritte, die `weights` Parameter alle 500 Schritte (der `save_interval` Standardwert für das Speichern von Tensorsammlungen ist 500) und die `bias` Parameter alle 10 globalen Schritte gespeichert werden, bis der globale Schritt 500 erreicht.

   ```
   from sagemaker.debugger import CollectionConfig, DebuggerHookConfig
   
   hook_config = DebuggerHookConfig(
       hook_parameters={
           "train.save_interval": "100",
           "eval.save_interval": "10"
       },
       collection_configs=[
           CollectionConfig("weights"),
           CollectionConfig(
               name="biases",
               parameters={
                   "save_interval": "10",
                   "end_step": "500",
                   "save_histogram": "True"
               }
           ),
       ]
   )
   ```

   Weitere Informationen zur Debugger-Konfiguration APIs finden Sie im Debugger `[CollectionConfig](https://sagemaker.readthedocs.io/en/stable/api/training/debugger.html#sagemaker.debugger.CollectionConfig)` und `[DebuggerHookConfig](https://sagemaker.readthedocs.io/en/stable/api/training/debugger.html#sagemaker.debugger.DebuggerHookConfig)` APIs im [Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable).

1. Konstruieren Sie einen SageMaker AI-Schätzer mit den Debugger-Parametern, die die Konfigurationsobjekte übergeben. Die folgende Beispielvorlage zeigt, wie ein generischer SageMaker KI-Schätzer erstellt wird. Sie können `estimator` und `Estimator` durch die übergeordneten Schätzklassen und Schätzerklassen anderer SageMaker KI-Frameworks ersetzen. Verfügbare SageMaker KI-Framework-Schätzer für diese Funktionalität sind, und. `[TensorFlow](https://sagemaker.readthedocs.io/en/stable/frameworks/tensorflow/using_tf.html#create-an-estimator)` `[PyTorch](https://sagemaker.readthedocs.io/en/stable/frameworks/pytorch/using_pytorch.html#create-an-estimator)` `[MXNet](https://sagemaker.readthedocs.io/en/stable/frameworks/mxnet/using_mxnet.html#create-an-estimator)`

   ```
   from sagemaker.estimator import Estimator
   
   estimator = Estimator(
       ...
       # Debugger parameters
       debugger_hook_config=hook_config,
       tensorboard_output_config=tensorboard_output_config
   )
   estimator.fit()
   ```

   Die `estimator.fit()` Methode startet einen Trainingsjob und der Debugger schreibt die Ausgabetensordateien in Echtzeit in den Debugger S3-Ausgabepfad und in den TensorBoard S3-Ausgabepfad. Verwenden Sie die folgenden Schätzmethoden, um die Ausgabepfade abzurufen:
   + Für den Debugger S3-Ausgabepfad, verwenden Sie `estimator.latest_job_debugger_artifacts_path()`.
   + Verwenden Sie für den TensorBoard S3-Ausgabepfad. `estimator.latest_job_tensorboard_artifacts_path()`

1. Überprüfen Sie nach Abschluss des Trainings die Namen der gespeicherten Ausgabetensoren:

   ```
   from smdebug.trials import create_trial
   trial = create_trial(estimator.latest_job_debugger_artifacts_path())
   trial.tensor_names()
   ```

1. Überprüfen Sie die TensorBoard Ausgabedaten in Amazon S3:

   ```
   tensorboard_output_path=estimator.latest_job_tensorboard_artifacts_path()
   print(tensorboard_output_path)
   !aws s3 ls {tensorboard_output_path}/
   ```

1. Laden Sie die TensorBoard Ausgabedaten auf Ihre Notebook-Instance herunter. Mit dem folgenden AWS CLI Befehl werden die TensorBoard Dateien beispielsweise in das `/logs/fit` aktuelle Arbeitsverzeichnis Ihrer Notebook-Instanz heruntergeladen.

   ```
   !aws s3 cp --recursive {tensorboard_output_path} ./logs/fit
   ```

1. Komprimieren Sie das Dateiverzeichnis in eine TAR-Datei, um es auf Ihren lokalen Computer herunterzuladen.

   ```
   !tar -cf logs.tar logs
   ```

1. Laden Sie die Tensorboard-TAR-Datei herunter und extrahieren Sie sie in ein Verzeichnis auf Ihrem Gerät, starten Sie einen Jupyter-Notebook-Server, öffnen Sie ein neues Notizbuch und führen Sie die App aus. TensorBoard

   ```
   !tar -xf logs.tar
   %load_ext tensorboard
   %tensorboard --logdir logs/fit
   ```

Der folgende animierte Screenshot veranschaulicht die Schritte 5 bis 8. Es zeigt, wie Sie die Debugger-TAR-Datei herunterladen und TensorBoard die Datei in ein Jupyter-Notebook auf Ihrem lokalen Gerät laden.

![\[Animation zum Herunterladen und Laden der TensorBoard Debugger-Datei auf Ihren lokalen Computer.\]](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/debugger/debugger-tensorboard.gif)
