Visualize os tensores de saída do Amazon SageMaker Debugger em TensorBoard - Amazon SageMaker

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

Importante

Esta página foi descontinuada em favor da Amazon SageMaker with TensoBoard, que fornece uma TensorBoard experiência abrangente integrada ao SageMaker treinamento e às funcionalidades de controle de acesso do domínio. SageMaker Para saber mais, consulte Use TensorBoard para depurar e analisar trabalhos de treinamento na Amazon SageMaker.

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.

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 DebuggerTensorBoardOutputConfig. Para o s3_output_path parâmetro, especifique o bucket S3 padrão da SageMaker sessão 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 API Debugger no SDK do Amazon Python SageMaker .

  2. 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 APIs DebuggerHookConfig no SDK do Amazon Python. SageMaker

  3. Construa um SageMaker estimador com os parâmetros do Debugger passando pelos objetos de configuração. O modelo de exemplo a seguir mostra como criar um SageMaker estimador genérico. Você pode substituir estimator e por classes principais Estimator de SageMaker estimadores e classes de estimadores de outras estruturas. Os estimadores de SageMaker estrutura disponíveis para essa funcionalidade são TensorFlowPyTorch, e. MXNet

    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, useestimator.latest_job_tensorboard_artifacts_path().

  4. 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()
  5. 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}/
  6. 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
  7. Comprima o diretório do arquivo em um arquivo TAR para fazer o download em sua máquina local.

    !tar -cf logs.tar logs
  8. 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.

Uma captura de tela animada mostrando como baixar e carregar o TensorBoard arquivo do Debugger em sua máquina local.