

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Visualize os tensores de saída do Amazon SageMaker Debugger em TensorBoard
<a name="debugger-enable-tensorboard-summaries"></a>

**Importante**  
Esta página foi descontinuada em favor do Amazon SageMaker AI with TensoBoard, que fornece uma TensorBoard experiência abrangente integrada ao SageMaker treinamento e às funcionalidades de controle de acesso do domínio de IA. SageMaker Para saber mais, consulte [TensorBoard na Amazon SageMaker AI](tensorboard-on-sagemaker.md).

Use o SageMaker Debugger para criar arquivos tensores de saída compatíveis com o. TensorBoard Carregue os arquivos para visualizar TensorBoard e analisar seus trabalhos de SageMaker treinamento. O Debugger gera automaticamente arquivos tensores de saída compatíveis com o. TensorBoard Para qualquer configuração de gancho que você personaliza para salvar tensores de saída, o Debugger tem a flexibilidade de criar resumos, distribuições e histogramas escalares para os quais você pode importar. TensorBoard 

![Um diagrama de arquitetura do mecanismo de salvamento do tensor de saída do Debugger.](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/debugger/debugger-tensorboard-concept.png)


Você pode habilitar isso passando objetos `DebuggerHookConfig` e `TensorBoardOutputConfig` para um `estimator`.

O procedimento a seguir explica como salvar escalares, pesos e vieses como tensores completos, histogramas e distribuições que podem ser visualizados com. TensorBoard O Debugger os salva no caminho local do contêiner de treinamento (o caminho padrão é `/opt/ml/output/tensors`) e sincroniza com os locais do Amazon S3 passados pelos objetos de configuração de saída do Debugger.

**Para salvar arquivos tensores de saída TensorBoard compatíveis usando o Debugger**

1. Configure um objeto `tensorboard_output_config` de configuração para salvar a TensorBoard saída usando a classe Debugger`TensorBoardOutputConfig`. Para o `s3_output_path` parâmetro, especifique o bucket S3 padrão da sessão de SageMaker IA atual ou um bucket S3 preferencial. Este exemplo não adiciona o parâmetro `container_local_output_path`; em vez disso, ele é definido como o caminho local padrão `/opt/ml/output/tensors`.

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

   Para obter informações adicionais, consulte a `[TensorBoardOutputConfig](https://sagemaker.readthedocs.io/en/stable/api/training/debugger.html#sagemaker.debugger.TensorBoardOutputConfig)` API Debugger no SDK do Amazon [Python SageMaker ](https://sagemaker.readthedocs.io/en/stable).

1. Configure o hook do Debugger e personalize os valores dos parâmetros do hook. Por exemplo, o código a seguir configura um hook do Debugger para salvar todas as saídas escalares a cada 100 etapas nas fases de treinamento e 10 etapas nas fases de validação, os parâmetros `weights` a cada 500 etapas (o valor padrão `save_interval` para salvar coleções de tensores é 500) e os parâmetros `bias` a cada 10 etapas globais até que a etapa global alcance 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"
               }
           ),
       ]
   )
   ```

   [Para obter mais informações sobre as APIs de configuração do Debugger, consulte o Debugger e as `[CollectionConfig](https://sagemaker.readthedocs.io/en/stable/api/training/debugger.html#sagemaker.debugger.CollectionConfig)` APIs `[DebuggerHookConfig](https://sagemaker.readthedocs.io/en/stable/api/training/debugger.html#sagemaker.debugger.DebuggerHookConfig)` no SDK do Amazon Python. SageMaker ](https://sagemaker.readthedocs.io/en/stable)

1. Construa um estimador de SageMaker IA com os parâmetros do Debugger passando pelos objetos de configuração. O modelo de exemplo a seguir mostra como criar um estimador genérico de SageMaker IA. Você pode substituir `estimator` e por classes principais `Estimator` de estimadores e classes de estimadores de outras estruturas de SageMaker IA. Os estimadores de estrutura de SageMaker IA disponíveis para essa funcionalidade são `[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)`, e. `[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()
   ```

   O `estimator.fit()` método inicia um trabalho de treinamento e o Debugger grava os arquivos tensores de saída em tempo real no caminho de saída do Debugger S3 e no caminho de saída do S3. TensorBoard Para recuperar os caminhos de saída, use os seguintes métodos de estimativa:
   + Para o caminho de saída do Debugger S3, use `estimator.latest_job_debugger_artifacts_path()`.
   + Para o caminho de saída do TensorBoard S3, use`estimator.latest_job_tensorboard_artifacts_path()`.

1. Após a conclusão do treinamento, verifique os nomes dos tensores de saída salvos:

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

1. Verifique os dados TensorBoard de saída no Amazon S3:

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

1. Faça o download dos dados de TensorBoard saída para a instância do seu notebook. Por exemplo, o AWS CLI comando a seguir baixa os TensorBoard arquivos para o `/logs/fit` diretório de trabalho atual da instância do seu notebook.

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

1. Comprima o diretório do arquivo em um arquivo TAR para fazer o download em sua máquina local.

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

1. Baixe e extraia o arquivo TAR do Tensorboard em um diretório no seu dispositivo, inicie um servidor de notebook Jupyter, abra um novo notebook e execute o aplicativo. TensorBoard

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

A captura de tela animada a seguir ilustra as etapas 5 a 8. Ele demonstra como baixar o arquivo TensorBoard TAR do Debugger e carregar o arquivo em um notebook Jupyter em seu dispositivo local.

![Animação sobre como baixar e carregar o TensorBoard arquivo do Debugger em sua máquina local.](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/debugger/debugger-tensorboard.gif)
