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 no TensorBoard
Importante
Esta página foi substituída em favor do Amazon SageMaker AI com o TensorBoard, que oferece uma experiência abrangente do TensorBoard integrado ao treinamento do SageMaker e às funcionalidades de controle de acesso do domínio do SageMaker AI. Para saber mais, consulte TensorBoard no Amazon SageMaker AI.
Use o SageMaker Debugger para criar arquivos tensores de saída compatíveis com o TensorBoard. Carregue os arquivos para visualizar no TensorBoard e analise seus trabalhos de treinamento do SageMaker. O Debugger gera automaticamente arquivos tensores de saída compatíveis com o TensorBoard. Para qualquer configuração de hook que você personaliza para salvar tensores de saída, o Debugger tem a flexibilidade de criar resumos, distribuições e histogramas escalares que você pode importar para o TensorBoard.
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, histogramas e distribuições completos que podem ser visualizados com o 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 compatíveis com TensorBoard usando o Debugger
-
Configure um objeto de configuração
tensorboard_output_configpara salvar a saída do TensorBoard usando a classe DebuggerTensorBoardOutputConfig. Para o parâmetros3_output_path, especifique o bucket padrão do S3 da sessão atual do SageMaker AI ou um bucket do S3 de sua preferência. Este exemplo não adiciona o parâmetrocontainer_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 mais informações, consulte a API Debugger
TensorBoardOutputConfigno Amazon SageMaker Python SDK. -
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
weightsa cada 500 etapas (o valor padrãosave_intervalpara salvar coleções de tensores é 500) e os parâmetrosbiasa 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
CollectionConfige as APIsDebuggerHookConfigno Amazon SageMaker Python SDK. -
Crie um estimador do SageMaker AI com os parâmetros do Debugger transmitindo os objetos de configuração. O exemplo a seguir mostra como criar um estimador genérico do SageMaker AI. Você pode substituir
estimatoreEstimatorpor outras classes de estimadores e classes principais de estimadores do framework do SageMaker AI. Os estimadores do framework do SageMaker AI disponíveis para essa funcionalidade sãoTensorFlow,PyTorcheMXNet.from sagemaker.estimatorimportEstimatorestimator =Estimator( ... # Debugger parameters debugger_hook_config=hook_config, tensorboard_output_config=tensorboard_output_config ) estimator.fit()O método
estimator.fit()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 TensorBoard S3. 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().
-
-
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() -
Verifique os dados de saída do TensorBoard no Amazon S3:
tensorboard_output_path=estimator.latest_job_tensorboard_artifacts_path() print(tensorboard_output_path) !aws s3 ls {tensorboard_output_path}/ -
Baixe os dados de saída do TensorBoard para a instância do seu caderno. Por exemplo, o comando da AWS CLI a seguir baixa os arquivos do TensorBoard
/logs/fitpara o diretório de trabalho atual da instância do seu caderno.!aws s3 cp --recursive {tensorboard_output_path}./logs/fit -
Comprima o diretório do arquivo em um arquivo TAR para fazer o download em sua máquina local.
!tar -cf logs.tar logs -
Baixe e extraia o arquivo TAR do Tensorboard em um diretório no seu dispositivo, inicie um servidor de caderno Jupyter, abra um novo caderno e execute a aplicação 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 TAR do Debugger TensorBoard e carregá-lo em um caderno Jupyter em seu dispositivo local.