Prepare um trabalho de treinamento para coletar dados TensorBoard de saída - 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á.

Prepare um trabalho de treinamento para coletar dados TensorBoard de saída

Um trabalho de treinamento típico para aprendizado de máquina em SageMaker IA consiste em duas etapas principais: preparar um script de treinamento e configurar um objeto estimador de SageMaker IA do SDK AI SageMaker Python. Nesta seção, você aprenderá sobre as mudanças necessárias para coletar dados TensorBoard compatíveis de trabalhos de SageMaker treinamento.

Pré-requisitos

A lista a seguir mostra os pré-requisitos para começar a usar SageMaker a IA. TensorBoard

  • Um domínio de SageMaker IA configurado com a Amazon VPC em sua AWS conta.

    Para obter instruções sobre como configurar um domínio, consulte Integrar o domínio Amazon SageMaker AI usando a configuração rápida. Você também precisa adicionar perfis de usuário de domínio para que usuários individuais TensorBoard acessem o no SageMaker AI. Para obter mais informações, consulte Adicionar perfis de usuário.

  • A lista a seguir é o conjunto mínimo de permissões para uso TensorBoard na SageMaker IA.

    • sagemaker:CreateApp

    • sagemaker:DeleteApp

    • sagemaker:DescribeTrainingJob

    • sagemaker:Search

    • s3:GetObject

    • s3:ListBucket

Etapa 1: modifique seu script de treinamento com ferramentas TensorBoard auxiliares de código aberto

Certifique-se de determinar quais tensores e escalares de saída coletar e modificar as linhas de código em seu script de treinamento usando qualquer uma das seguintes ferramentas: TensorBoard X, TensorFlow Summary Writer, PyTorch Summary Writer ou SageMaker Debugger.

Além disso, certifique-se de especificar o caminho de saída de TensorBoard dados como o diretório de log (log_dir) para retorno de chamada no contêiner de treinamento.

Para obter mais informações sobre retornos de chamada por estrutura, consulte os recursos a seguir.

Etapa 2: criar um objeto estimador de SageMaker treinamento com a TensorBoard configuração de saída

Use o sagemaker.debugger.TensorBoardOutputConfig ao configurar um estimador de estrutura de SageMaker IA. Essa API de configuração mapeia o bucket do S3 que você especifica para salvar TensorBoard dados com o caminho local no contêiner de treinamento (/opt/ml/output/tensorboard). Passe o objeto do módulo para o parâmetro tensorboard_output_config da classe do estimador. O trecho de código a seguir mostra um exemplo de preparação de um TensorFlow estimador com o TensorBoard parâmetro de configuração de saída.

nota

Este exemplo pressupõe que você use o SDK do SageMaker Python. Se você usa a SageMaker API de baixo nível, deve incluir o seguinte na sintaxe de solicitação da CreateTrainingJobAPI.

"TensorBoardOutputConfig": { "LocalPath": "/opt/ml/output/tensorboard", "S3OutputPath": "s3_output_bucket" }
from sagemaker.tensorflow import TensorFlow from sagemaker.debugger import TensorBoardOutputConfig # Set variables for training job information, # such as s3_out_bucket and other unique tags. ... LOG_DIR="/opt/ml/output/tensorboard" output_path = os.path.join( "s3_output_bucket", "sagemaker-output", "date_str", "your-training_job_name" ) tensorboard_output_config = TensorBoardOutputConfig( s3_output_path=os.path.join(output_path, 'tensorboard'), container_local_output_path=LOG_DIR ) estimator = TensorFlow( entry_point="train.py", source_dir="src", role=role, image_uri=image_uri, instance_count=1, instance_type="ml.c5.xlarge", base_job_name="your-training_job_name", tensorboard_output_config=tensorboard_output_config, hyperparameters=hyperparameters )
nota

O TensorBoard aplicativo não fornece out-of-the-box suporte para trabalhos de ajuste de hiperparâmetros de SageMaker IA, pois a CreateHyperParameterTuningJobAPI não está integrada à configuração TensorBoard de saída do mapeamento. Para usar o TensorBoard aplicativo para trabalhos de ajuste de hiperparâmetros, você precisa escrever código para fazer o upload de métricas para o Amazon S3 em seu script de treinamento. Depois que as métricas são carregadas em um bucket do Amazon S3, você pode carregar o bucket no TensorBoard aplicativo na SageMaker IA.