View a markdown version of this page

Inicie trabalhos de treinamento com o Debugger usando o SDK do Python SageMaker - SageMaker IA da Amazon

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á.

Inicie trabalhos de treinamento com o Debugger usando o SDK do Python SageMaker

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.

Para configurar um estimador de SageMaker IA com o SageMaker Debugger, use o Amazon SageMaker Python SDK e especifique parâmetros. Debugger-specific Para utilizar totalmente a funcionalidade de depuração, há três parâmetros que você precisa configurar:debugger_hook_config, tensorboard_output_config e rules.

Importante

Antes de criar e executar o método de ajuste do estimador para iniciar um trabalho de treinamento, certifique-se de adaptar seu script de treinamento seguindo as instruções em Adaptação do seu script de treinamento para registrar um hook.

Construindo um estimador de SageMaker IA com parâmetros Debugger-specific

Os exemplos de código nesta seção mostram como construir um estimador de SageMaker IA com os Debugger-specific parâmetros.

nota

Os exemplos de código a seguir são modelos para construir os estimadores da estrutura de SageMaker IA e não são diretamente executáveis. Você precisa prosseguir para as próximas seções e configurar os Debugger-specific parâmetros.

# An example of creating a training job with debugger configuration import boto3 from sagemaker.core import image_uris from sagemaker.core.resources import TrainingJob from sagemaker.core.shapes import ( AlgorithmSpecification, ResourceConfig, OutputDataConfig, StoppingCondition, DebugHookConfig, CollectionConfiguration, DebugRuleConfiguration, ) session=boto3.session.Session() region=session.region_name # Retrieve the training image for your framework # Change framework to "tensorflow", "mxnet", "xgboost", etc. as needed training_image = image_uris.retrieve( framework="pytorch", # or "tensorflow", "mxnet", "xgboost" region=region, version="1.12.0", py_version="py37", instance_type="ml.p3.2xlarge", image_scope="training" ) debug_hook_config=DebugHookConfig(...) debug_rule_configurations=[ DebugRuleConfiguration( rule_configuration_name="built_in_rule", rule_evaluator_image="rule-evaluator-image-uri", ) ] TrainingJob.create( training_job_name="debugger-demo", algorithm_specification=AlgorithmSpecification( training_image=training_image, training_input_mode="File", ), role_arn="arn:aws:iam::123456789012:role/SageMakerRole", resource_config=ResourceConfig(instance_type="ml.p3.2xlarge", instance_count=1, volume_size_in_gb=30), output_data_config=OutputDataConfig(s3_output_path="s3://bucket/output"), stopping_condition=StoppingCondition(max_runtime_in_seconds=3600), # Debugger-specific parameters debug_hook_config=debug_hook_config, debug_rule_configurations=debug_rule_configurations, )

Configure os seguintes parâmetros para ativar o SageMaker Debugger:

  • debugger_hook_config(um objeto de DebuggerHookConfig) — Necessário para ativar o gancho no script de treinamento adaptado duranteAdaptação do seu script de treinamento para registrar um hook, configurar o lançador de SageMaker treinamento (estimador) para coletar tensores de saída de seu trabalho de treinamento e salvar os tensores em seu bucket S3 protegido ou máquina local. Para saber como configurar o parâmetro debugger_hook_config, consulte Configurando o SageMaker Debugger para salvar tensores.

  • rules(uma lista de Rule objetos) — Configure esse parâmetro para ativar as regras integradas do SageMaker Debugger que você deseja executar em tempo real. As regras integradas são lógicas que depuram automaticamente o progresso do treinamento do seu modelo e encontram problemas de treinamento analisando os tensores de saída salvos em seu bucket seguro do S3. Para saber como configurar o parâmetro rules, consulte Configurar regras integradas do Depurador. Para encontrar uma lista completa de regras integradas para depuração de tensores de saída, consulte Regra do Depurador. Se você quiser criar sua própria lógica para detectar problemas de treinamento, consulte Criação de regras personalizadas usando a biblioteca de cliente do Depurador.

    nota

    As regras integradas estão disponíveis somente por meio de instâncias SageMaker de treinamento. Você não pode usá-los no modo local.

  • tensorboard_output_config(um objeto de TensorBoardOutputConfig) — Configure o SageMaker Debugger para coletar tensores de saída no TensorBoard-compatible formato e salvar no caminho de saída do S3 especificado no objeto. TensorBoardOutputConfig Para saber mais, consulte Visualize os tensores de saída do Amazon SageMaker Debugger em TensorBoard.

    nota

    O tensorboard_output_config deve ser configurado com o debugger_hook_config parâmetro, o que também exige que você adapte seu script de treinamento adicionando o hook sagemaker-debugger.

nota

SageMaker O Debugger salva com segurança os tensores de saída em subpastas do seu bucket do S3. Por exemplo, o formato do URI padrão do bucket do S3 em sua conta é s3://amzn-s3-demo-bucket-sagemaker-<region>-<12digit_account_id>/<base-job-name>/<debugger-subfolders>/. Há duas subpastas criadas pelo SageMaker Debugger: e. debug-output rule-output Se você adicionar o tensorboard_output_config parâmetro, também encontrará a pasta tensorboard-output.

Consulte os tópicos a seguir para encontrar mais exemplos de como configurar os Debugger-specific parâmetros em detalhes.