

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Visualizza i tensori di output di Amazon SageMaker Debugger in TensorBoard
<a name="debugger-enable-tensorboard-summaries"></a>

**Nota**  
Amazon SageMaker Debugger non è più aperto a nuovi clienti. I clienti esistenti possono continuare a utilizzare il servizio normalmente. AWS continua a investire in miglioramenti della sicurezza e della disponibilità di Debugger, ma non prevediamo di introdurre nuove funzionalità. Per ulteriori informazioni, consulta [Modifica della disponibilità del debugger](debugger-availability-change.md). 

**Importante**  
Questa pagina è obsoleta a favore di Amazon SageMaker AI with TensoBoard, che fornisce un' TensorBoard esperienza completa integrata con la SageMaker formazione e le funzionalità di controllo degli accessi del dominio AI. SageMaker Per ulteriori informazioni, consulta [TensorBoard in Amazon SageMaker AI](tensorboard-on-sagemaker.md).

Usa SageMaker Debugger per creare file tensoriali di output compatibili con. TensorBoard Carica i file per visualizzare TensorBoard e analizzare i tuoi lavori di formazione. SageMaker Il debugger genera automaticamente file tensoriali di output compatibili con. TensorBoard Per qualsiasi configurazione di hook personalizzata per il salvataggio dei tensori di output, Debugger ha la flessibilità di creare riepiloghi scalari, distribuzioni e istogrammi in cui è possibile importare. TensorBoard 

![Un diagramma di architettura del meccanismo di salvataggio dei tensori di output di Debugger.](https://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/debugger/debugger-tensorboard-concept.png)


È possibile abilitarlo passando gli oggetti `DebuggerHookConfig` e `TensorBoardOutputConfig` a un `ModelTrainer`.

La procedura seguente spiega come salvare scalari, pesi e distorsioni come tensori completi, istogrammi e distribuzioni che possono essere visualizzati con. TensorBoard Debugger li salva nel percorso locale del container di addestramento (il percorso predefinito è `/opt/ml/output/tensors`) e si sincronizza con le posizioni Amazon S3 passate attraverso gli oggetti di configurazione dell'output del Debugger.

**Per salvare file tensoriali di output compatibili utilizzando Debugger TensorBoard**

1. Imposta un oggetto di `tensorboard_output_config` configurazione per salvare l' TensorBoard output utilizzando la classe Debugger. `TensorBoardOutputConfig` Per il `s3_output_path` parametro, specifica il bucket S3 predefinito della sessione SageMaker AI corrente o un bucket S3 preferito. Questo esempio non aggiunge il parametro `container_local_output_path`; viene invece impostato sul percorso locale predefinito `/opt/ml/output/tensors`.

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

   Per ulteriori informazioni, consulta l'`[TensorBoardOutputConfig](https://sagemaker.readthedocs.io/en/stable/api/training/debugger.html#sagemaker.debugger.TensorBoardOutputConfig)`API Debugger nell'SDK Amazon Python. [ SageMaker ](https://sagemaker.readthedocs.io/en/stable)

1. Configura l'hook Debugger e personalizza i valori dei parametri dell'hook. Ad esempio, il codice seguente configura un hook Debugger per salvare tutti gli output scalari ogni 100 fasi nelle fasi di addestramento e 10 fasi nelle fasi di convalida, i parametri `weights` ogni 500 fasi (il valore `save_interval` predefinito per il salvataggio delle raccolte di tensori è 500) e i parametri `bias` ogni 10 fasi globali fino a quando la fase globale raggiunge 500.

   ```
   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"
               }
           ),
       ]
   )
   ```

   Per ulteriori informazioni sulle API di configurazione Debugger, consulta Debugger e API nell'SDK Amazon Python`[CollectionConfig](https://sagemaker.readthedocs.io/en/stable/api/training/debugger.html#sagemaker.debugger.CollectionConfig)`. `[DebuggerHookConfig](https://sagemaker.readthedocs.io/en/stable/api/training/debugger.html#sagemaker.debugger.DebuggerHookConfig)` [ SageMaker ](https://sagemaker.readthedocs.io/en/stable)

1. Costruisci un' SageMaker intelligenza artificiale ModelTrainer con i parametri del Debugger che passano gli oggetti di configurazione. Il seguente modello di esempio mostra come creare un'IA generica. SageMaker ModelTrainer I ModelTrainer framework disponibili per questa funzionalità sono `[TensorFlow](https://sagemaker.readthedocs.io/en/stable/api/sagemaker_train.html)``[PyTorch](https://sagemaker.readthedocs.io/en/stable/api/sagemaker_train.html)`, e. `[MXNet](https://sagemaker.readthedocs.io/en/stable/api/sagemaker_train.html)`

   ```
   from sagemaker.train import ModelTrainer
   
   model_trainer = ModelTrainer(
       ...
       # Debugger parameters
       debugger_hook_config=hook_config,
       tensorboard_output_config=tensorboard_output_config
   )
   model_trainer.train()
   ```

   Il `model_trainer.train()` metodo avvia un processo di addestramento e Debugger scrive i file tensoriali di output in tempo reale nel percorso di output del Debugger S3 e nel percorso di output S3. TensorBoard Per recuperare i percorsi di output, utilizzate i seguenti metodi: ModelTrainer 
   + Per il percorso di output di Debugger S3, usa `model_trainer.latest_job_debugger_artifacts_path()`.
   + Per il percorso di uscita TensorBoard S3, usa. `model_trainer.latest_job_tensorboard_artifacts_path()`

1. Al termine dell'addestramento, controlla i nomi dei tensori di output salvati:

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

1. Controlla i dati TensorBoard di output in Amazon S3:

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

1. Scarica i dati TensorBoard di output sull'istanza del tuo notebook. Ad esempio, il AWS CLI comando seguente scarica i TensorBoard file nella directory di lavoro corrente dell'istanza del notebook. `/logs/fit`

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

1. Comprimi la directory dei file in un file TAR da scaricare sul computer locale.

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

1. Scarica ed estrai il file Tensorboard TAR in una directory sul tuo dispositivo, avvia un notebook server Jupyter, apri un nuovo notebook ed esegui l'app. TensorBoard

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

La seguente schermata animata illustra le fasi da 5 a 8. Dimostra come scaricare il file Debugger TensorBoard TAR e caricare il file in un notebook Jupyter sul dispositivo locale.

![Animazione su come scaricare e caricare il file Debugger sul computer locale. TensorBoard](https://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/debugger/debugger-tensorboard.gif)
