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

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 SageMaker consiste em duas etapas principais: preparar um script de treinamento e configurar um objeto SageMaker estimador do Python. SageMaker SDK 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 TensorBoard

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

    Para obter instruções sobre como configurar um domínio, consulte Integrar o SageMaker domínio da Amazon 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 on SageMaker. 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 em SageMaker.

    • 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 SageMaker estrutura. Essa configuração API 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 SageMaker PythonSDK. Se você usar o nível baixo SageMaker API, inclua o seguinte na sintaxe da solicitação do. 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 SageMaker hiperparâmetros, pois não CreateHyperParameterTuningJobAPIestá integrado à 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 em. SageMaker