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 de SageMaker IA ModelTrainer (antigo estimador no PySDK v2) do SDK do AI Python. SageMaker Nesta seção, você aprenderá sobre as mudanças necessárias para coletar TensorBoard-compatible dados de trabalhos de SageMaker treinamento.
Pré-requisitos
A lista a seguir mostra os pré-requisitos para começar a usar a SageMaker IA. TensorBoard
-
Um domínio de SageMaker IA configurado com o 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 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 AI. Para obter mais informações, consulte Adicionar perfis de usuário.
-
O Amazon EFS deve estar habilitado em seu domínio. TensorBoard requer um sistema de arquivos Amazon EFS para funcionar. Para domínios criados por meio de configuração rápida após 1º de junho de 2026, o EFS não é criado por padrão durante a criação do domínio. Para habilitar o EFS após a criação do domínio, consulte Criação e montagem automática do Amazon EFS no Amazon SageMaker Studio.
-
O Amazon EFS deve estar habilitado em seu domínio. TensorBoard requer um sistema de arquivos Amazon EFS para funcionar. Para domínios criados por meio de configuração rápida após 1º de junho de 2026, o EFS não é criado por padrão durante a criação do domínio. Para habilitar o EFS após a criação do domínio, consulte Criação e montagem automática do Amazon EFS no Amazon SageMaker Studio.
-
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 modifique 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.
-
Para PyTorch, use torch.utils.tensorboard. SummaryWriter
. Veja também as seções Usando escalares TensorBoard in PyTorch e Log nos PyTorch tutoriais. Como alternativa, você pode usar o TensorBoard X Summary Writer . LOG_DIR="/opt/ml/output/tensorboard" tensorboard_callback=torch.utils.tensorboard.writer.SummaryWriter(log_dir=LOG_DIR) -
Para TensorFlow, use o retorno de chamada nativo para TensorBoard tf.keras.callbacks. TensorBoard
. LOG_DIR="/opt/ml/output/tensorboard" tensorboard_callback=tf.keras.callbacks.TensorBoard( log_dir=LOG_DIR, histogram_freq=1) -
Para Transformers with PyTorch, você pode usar transformers.integrations. TensorBoardCallback
. Para transformadores com TensorFlow, use o
tf.keras.tensorboard.callbacke passe isso para o retorno de chamada keras nos transformadores.dica
Também é possível usar um caminho de saída local de contêiner diferente. No entanto, emEtapa 2: criar um ModelTrainer objeto SageMaker de treinamento com a configuração TensorBoard de saída, você deve mapear os caminhos corretamente para que a SageMaker IA pesquise com sucesso o caminho local e salve os TensorBoard dados no bucket de saída do S3.
-
Para obter orientação sobre como modificar scripts de treinamento usando a biblioteca SageMaker Debugger Python, consulte. Adaptação do seu script de treinamento para registrar um hook
Etapa 2: criar um ModelTrainer objeto SageMaker de treinamento com a configuração TensorBoard de saída
Use o sagemaker.debugger.TensorBoardOutputConfig enquanto configura uma SageMaker IA ModelTrainer. 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 tensorboard_output_config parâmetro da ModelTrainer classe. O trecho de código a seguir mostra um exemplo de como preparar um TensorFlow ModelTrainer com o parâmetro de configuração TensorBoard 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 CreateTrainingJob API.
"TensorBoardOutputConfig": { "LocalPath": "/opt/ml/output/tensorboard", "S3OutputPath": "s3_output_bucket" }
import os from sagemaker.train import ModelTrainer from sagemaker.train.configs import SourceCode from sagemaker.core.debugger import TensorBoardOutputConfig from sagemaker.train.configs import Compute # 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 ) model_trainer = ModelTrainer( source_code=SourceCode(entry_script="train.py", source_dir="src"), role=role, training_image=image_uri, compute=Compute(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 oferece suporte imediato para trabalhos de ajuste de hiperparâmetros de SageMaker IA, pois a CreateHyperParameterTuningJob API não está integrada à configuração de TensorBoard saída do mapeamento. Para usar o TensorBoard aplicativo para trabalhos de ajuste de hiperparâmetros, você precisa escrever código para fazer upload de métricas para o Amazon S3 em seu script de treinamento. Depois que as métricas forem carregadas em um bucket do Amazon S3, você poderá carregar o bucket no TensorBoard aplicativo na SageMaker IA.