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
![Um diagrama de arquitetura do mecanismo de salvamento do tensor de saída do Debugger.](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
-
Configure um objeto
tensorboard_output_config
de configuração para salvar a TensorBoard saída usando a classe DebuggerTensorBoardOutputConfig
. Para os3_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â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
TensorBoardOutputConfig
API 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
weights
a cada 500 etapas (o valor padrãosave_interval
para salvar coleções de tensores é 500) e os parâmetrosbias
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 a configuração do Debugger APIs, consulte o Debugger e o SDK
DebuggerHookConfig
APIs do AmazonCollectionConfig
Python. 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
estimator
e por classes principaisEstimator
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ãoTensorFlow
PyTorch
, e.MXNet
from sagemaker.
estimator
importEstimator
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()
.
-
-
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/fit
diretó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.
![Animação sobre como baixar e carregar o TensorBoard arquivo do Debugger em sua máquina local.](images/debugger/debugger-tensorboard.gif)