Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Prepara un lavoro di formazione per raccogliere i dati TensorBoard di output
Un tipico lavoro di formazione per l'apprendimento automatico nell' SageMaker IA consiste in due fasi principali: preparazione di uno script di addestramento e configurazione di un oggetto SageMaker AI ModelTrainer (precedentemente stimatore in PySDK v2) dell'SDK AI Python. SageMaker In questa sezione, scoprirai le modifiche necessarie per raccogliere dati dai lavori di formazione. TensorBoard-compatible SageMaker
Prerequisiti
L'elenco seguente mostra i prerequisiti con TensorBoard cui iniziare a utilizzare l' SageMaker IA.
-
Un dominio SageMaker AI configurato con Amazon VPC nel tuo AWS account.
Per istruzioni sulla configurazione di un dominio, consulta Effettuare l'onboarding su un dominio Amazon SageMaker AI utilizzando la configurazione rapida. È inoltre necessario aggiungere profili utente di dominio per consentire ai singoli utenti di accedere a TensorBoard on SageMaker AI. Per ulteriori informazioni, consulta Aggiunta di profili utente.
-
Amazon EFS deve essere abilitato sul tuo dominio. TensorBoard richiede un file system Amazon EFS per funzionare. Per i domini creati tramite configurazione rapida dopo il 1° giugno 2026, EFS non viene creato di default durante la creazione del dominio. Per abilitare EFS dopo la creazione del dominio, consulta Creazione e montaggio automatico di Amazon EFS in Amazon Studio. SageMaker
-
Amazon EFS deve essere abilitato sul tuo dominio. TensorBoard richiede un file system Amazon EFS per funzionare. Per i domini creati tramite configurazione rapida dopo il 1° giugno 2026, EFS non viene creato di default durante la creazione del dominio. Per abilitare EFS dopo la creazione del dominio, consulta Creazione e montaggio automatico di Amazon EFS in Amazon Studio. SageMaker
-
L'elenco seguente è il set minimo di autorizzazioni per l'utilizzo TensorBoard su SageMaker AI.
-
sagemaker:CreateApp -
sagemaker:DeleteApp -
sagemaker:DescribeTrainingJob -
sagemaker:Search -
s3:GetObject -
s3:ListBucket
-
Passaggio 1: modifica lo script di formazione con strumenti di supporto open source TensorBoard
Assicuratevi di determinare quali tensori e scalari di output raccogliere e di modificare le righe di codice nello script di training utilizzando uno dei seguenti strumenti: TensorBoard X, TensorFlow Summary Writer, Summary Writer o PyTorch Debugger. SageMaker
Assicuratevi inoltre di specificare il percorso di output dei TensorBoard dati come directory di log (log_dir) per il callback nel contenitore di formazione.
Per ulteriori informazioni sulle richiamate per framework, consulta le risorse seguenti.
-
Per PyTorch, usa torch.utils.tensorboard. SummaryWriter
. Vedi anche le sezioni Using TensorBoard in PyTorch e Log scalars nei PyTorch tutorial. In alternativa, puoi usare TensorBoard X Summary Writer. LOG_DIR="/opt/ml/output/tensorboard" tensorboard_callback=torch.utils.tensorboard.writer.SummaryWriter(log_dir=LOG_DIR) -
Per TensorFlow, usa il callback nativo per TensorBoard, tf.keras.callbacks. TensorBoard
. LOG_DIR="/opt/ml/output/tensorboard" tensorboard_callback=tf.keras.callbacks.TensorBoard( log_dir=LOG_DIR, histogram_freq=1) -
Per Transformers with PyTorch, puoi usare transformers.integrations. TensorBoardCallback
. Per i trasformatori con TensorFlow, usa e
tf.keras.tensorboard.callbackpassalo al callback keras nei trasformatori.Suggerimento
Inoltre, puoi utilizzare un percorso di output locale del container diverso. Tuttavia, inFase 2: Creare un oggetto di SageMaker addestramento ModelTrainer con la configurazione di output TensorBoard, è necessario mappare correttamente i percorsi affinché l' SageMaker IA possa cercare correttamente il percorso locale e salvare i TensorBoard dati nel bucket di output S3.
-
Per indicazioni sulla modifica degli script di addestramento utilizzando la libreria SageMaker Debugger Python, vedere. Adattamento dello script di addestramento per registrare un hook
Fase 2: Creare un oggetto di SageMaker addestramento ModelTrainer con la configurazione di output TensorBoard
Usa il comando sagemaker.debugger.TensorBoardOutputConfig durante la configurazione di un'intelligenza artificiale. SageMaker ModelTrainer Questa API di configurazione mappa il bucket S3 specificato per il salvataggio TensorBoard dei dati con il percorso locale nel contenitore di formazione (). /opt/ml/output/tensorboard Passate l'oggetto del modulo al tensorboard_output_config parametro della ModelTrainer classe. Il seguente frammento di codice mostra un esempio di preparazione di un TensorFlow ModelTrainer con il parametro di configurazione TensorBoard di output.
Nota
Questo esempio presuppone l'utilizzo del Python SDK. SageMaker Se utilizzi l' SageMaker API di basso livello, dovresti includere quanto segue nella sintassi della richiesta dell'API. CreateTrainingJob
"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
L' TensorBoard applicazione non fornisce un supporto immediato per i lavori di ottimizzazione degli iperparametri SageMaker AI, poiché l'CreateHyperParameterTuningJobAPI non è integrata nella configurazione di output per la mappatura. TensorBoard Per utilizzare l' TensorBoardapplicazione per i lavori di ottimizzazione degli iperparametri, devi scrivere il codice per caricare le metriche su Amazon S3 nello script di training. Una volta caricate le metriche in un bucket Amazon S3, puoi quindi caricare il bucket nell'applicazione su AI. TensorBoard SageMaker