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
nota
O Amazon SageMaker Debugger não está mais aberto a novos clientes. Os clientes existentes podem continuar usando o serviço normalmente. AWS continua investindo em melhorias de segurança e disponibilidade para o Debugger, mas não planejamos introduzir novos recursos. Para obter mais informações, consulte Alteração na disponibilidade do depurador.
Importante
Esta página foi descontinuada em favor da 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 AI. SageMaker Para saber mais, consulte TensorBoard na Amazon SageMaker AI.
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 SageMaker de treinamento. O Debugger gera automaticamente arquivos tensores de saída compatíveis com o. TensorBoard Para qualquer configuração de gancho que você personalize para salvar tensores de saída, o Debugger tem a flexibilidade de criar resumos escalares, distribuições e histogramas para os quais você pode importar. TensorBoard
Você pode habilitar isso passando objetos DebuggerHookConfig e TensorBoardOutputConfig para um ModelTrainer.
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 de tensor de saída TensorBoard compatíveis usando o Debugger
-
Configure um objeto
tensorboard_output_configde configuração para salvar a TensorBoard saída usando a classe DebuggerTensorBoardOutputConfig. Para os3_output_pathparâmetro, especifique o bucket S3 padrão da sessão de SageMaker IA atual ou um bucket S3 preferido. 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.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) )Para obter informações adicionais, consulte a
TensorBoardOutputConfigAPI Debugger no 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
CollectionConfigeDebuggerHookConfigas APIs no Amazon Python SDK. SageMaker -
Construa uma SageMaker IA ModelTrainer com os parâmetros do Debugger passando os objetos de configuração. O modelo de exemplo a seguir mostra como criar uma SageMaker IA genérica ModelTrainer. ModelTrainer As estruturas disponíveis para essa funcionalidade são
TensorFlowPyTorch, e.MXNetfrom sagemaker.train import ModelTrainer model_trainer = ModelTrainer( ... # Debugger parameters debugger_hook_config=hook_config, tensorboard_output_config=tensorboard_output_config ) model_trainer.train()O
model_trainer.train()método inicia um trabalho de treinamento e o Debugger grava os arquivos do tensor 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 ModelTrainer métodos:-
Para o caminho de saída do Debugger S3, use
model_trainer.latest_job_debugger_artifacts_path(). -
Para o caminho de saída do TensorBoard S3, use
model_trainer.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(model_trainer.latest_job_debugger_artifacts_path()) trial.tensor_names() -
Verifique os dados TensorBoard de saída no Amazon S3:
tensorboard_output_path=model_trainer.latest_job_tensorboard_artifacts_path() print(tensorboard_output_path) !aws s3 ls {tensorboard_output_path}/ -
Baixe os dados TensorBoard de saída para a instância do seu notebook. Por exemplo, o AWS CLI comando a seguir baixa os TensorBoard arquivos para o
/logs/fitdiretório de trabalho atual da instância do seu notebook.!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 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.