Prepara un corso di formazione per raccogliere i dati TensorBoard di output - Amazon SageMaker

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 corso di formazione per raccogliere i dati TensorBoard di output

Un tipico lavoro di formazione per l'apprendimento automatico SageMaker consiste in due fasi principali: preparare uno script di addestramento e configurare un oggetto SageMaker estimatore di Python SageMaker . SDK In questa sezione, scoprirai le modifiche necessarie per raccogliere dati TensorBoard compatibili dai lavori di formazione. SageMaker

Prerequisiti

L'elenco seguente mostra i prerequisiti con cui iniziare a utilizzare SageMaker . TensorBoard

  • Un SageMaker dominio configurato con Amazon VPC nel tuo AWS account.

    Per istruzioni sulla configurazione di un dominio, consulta Onboard to Amazon SageMaker domain using quick setup. È inoltre necessario aggiungere profili utente di dominio per consentire ai singoli utenti di accedere a TensorBoard on SageMaker. Per ulteriori informazioni, consulta Aggiunta di profili utente.

  • L'elenco seguente è il set minimo di autorizzazioni per l'utilizzo di TensorBoard on SageMaker.

    • sagemaker:CreateApp

    • sagemaker:DeleteApp

    • sagemaker:DescribeTrainingJob

    • sagemaker:Search

    • s3:GetObject

    • s3:ListBucket

Fase 1: Modifica lo script di formazione con strumenti di supporto open source TensorBoard

Assicurati di determinare quali tensori e scalari di output raccogliere e di modificare le righe di codice nello script di addestramento utilizzando uno dei seguenti strumenti: TensorBoard X, TensorFlow Summary Writer, PyTorch Summary Writer o Debugger. SageMaker

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

Fase 2: Creare un oggetto di stima dell' SageMaker addestramento con la configurazione dell'output TensorBoard

Utilizzalo sagemaker.debugger.TensorBoardOutputConfig durante la configurazione di uno SageMaker stimatore del framework. Questa configurazione API mappa il bucket S3 specificato per il salvataggio TensorBoard dei dati con il percorso locale nel contenitore di formazione (). /opt/ml/output/tensorboard Trasmetti l'oggetto del modulo al parametro tensorboard_output_config della classe dello strumento di valutazione. Il seguente frammento di codice mostra un esempio di preparazione di uno TensorFlow stimatore con il parametro di configurazione dell'output. TensorBoard

Nota

Questo esempio presuppone che si utilizzi SageMaker PythonSDK. Se si utilizza il livello basso SageMaker API, è necessario includere quanto segue nella sintassi di richiesta di. 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

L' TensorBoard applicazione non fornisce out-of-the-box supporto per i lavori di ottimizzazione degli SageMaker iperparametri, in quanto non CreateHyperParameterTuningJobAPIè integrata con la configurazione di TensorBoard output per la mappatura. Per utilizzare l' TensorBoardapplicazione per i lavori di ottimizzazione degli iperparametri, devi scrivere il codice per caricare le metriche su Amazon S3 nel tuo script di formazione. Una volta caricate le metriche su un bucket Amazon S3, puoi caricare il bucket nell'applicazione su. TensorBoard SageMaker