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 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.
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
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
-
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 preferencial. 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 informações adicionais, consulte a
TensorBoardOutputConfigAPI Debugger no SDK do Amazon Python SageMaker. -
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 a configuração do Debugger APIs, consulte o Debugger e o SDK
DebuggerHookConfigAPIs do AmazonCollectionConfigPython. SageMaker -
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
estimatore por classes principaisEstimatorde estimadores e classes de estimadores de outras estruturas de SageMaker IA. Os estimadores de estrutura de SageMaker IA disponíveis para essa funcionalidade sãoTensorFlowPyTorch, e.MXNetfrom sagemaker.estimatorimportEstimatorestimator =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().
-
-
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 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}/ -
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/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.