Visualizza i tensori di output di Amazon SageMaker Debugger in TensorBoard - 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à.

Visualizza i tensori di output di Amazon SageMaker Debugger in TensorBoard

Importante

Questa pagina è obsoleta a favore di Amazon SageMaker with TensoBoard, che offre un' TensorBoard esperienza completa integrata con la SageMaker formazione e le funzionalità di controllo degli accessi del dominio. SageMaker Per ulteriori informazioni, consulta TensorBoard in Amazon SageMaker.

Usa SageMaker Debugger per creare file tensoriali di output compatibili con. TensorBoard Carica i file per visualizzare e analizzare i tuoi lavori di formazione. TensorBoard SageMaker Debugger genera automaticamente file tensoriali di output compatibili con. TensorBoard Per qualsiasi configurazione di hook personalizzata per salvare i tensori di output, Debugger ha la flessibilità di creare riepiloghi scalari, distribuzioni e istogrammi in cui importare. TensorBoard

Un diagramma di architettura del meccanismo di salvataggio dei tensori di output di Debugger.

È possibile abilitarlo passando gli oggetti DebuggerHookConfig e TensorBoardOutputConfig a un estimator.

La procedura seguente spiega come salvare scalari, pesi e distorsioni come tensori completi, istogrammi e distribuzioni con cui è possibile visualizzare. TensorBoard Debugger li salva nel percorso locale del container di addestramento (il percorso predefinito è /opt/ml/output/tensors) e si sincronizza con le posizioni Amazon S3 passate attraverso gli oggetti di configurazione dell'output del Debugger.

TensorBoard Per salvare file tensoriali di output compatibili utilizzando Debugger
  1. Imposta un oggetto di tensorboard_output_config configurazione per salvare l' TensorBoard output utilizzando la classe Debugger. TensorBoardOutputConfig Per il s3_output_path parametro, specificate il bucket S3 predefinito della SageMaker sessione corrente o un bucket S3 preferito. Questo esempio non aggiunge il parametro container_local_output_path; viene invece impostato sul percorso locale predefinito /opt/ml/output/tensors.

    import sagemaker from sagemaker.debugger import TensorBoardOutputConfig bucket = sagemaker.Session().default_bucket() tensorboard_output_config = TensorBoardOutputConfig( s3_output_path='s3://{}'.format(bucket) )

    Per ulteriori informazioni, consulta il Debugger in Amazon TensorBoardOutputConfig API Python. SageMaker SDK

  2. Configura l'hook Debugger e personalizza i valori dei parametri dell'hook. Ad esempio, il codice seguente configura un hook Debugger per salvare tutti gli output scalari ogni 100 fasi nelle fasi di addestramento e 10 fasi nelle fasi di convalida, i parametri weights ogni 500 fasi (il valore save_interval predefinito per il salvataggio delle raccolte di tensori è 500) e i parametri bias ogni 10 fasi globali fino a quando la fase globale raggiunge 500.

    from sagemaker.debugger import CollectionConfig, DebuggerHookConfig hook_config = DebuggerHookConfig( hook_parameters={ "train.save_interval": "100", "eval.save_interval": "10" }, collection_configs=[ CollectionConfig("weights"), CollectionConfig( name="biases", parameters={ "save_interval": "10", "end_step": "500", "save_histogram": "True" } ), ] )

    Per ulteriori informazioni sulla configurazione del DebuggerAPIs, consulta Debugger CollectionConfig e Amazon Python. DebuggerHookConfig APIs SageMaker SDK

  3. Costruisci uno SageMaker stimatore con i parametri del Debugger passando gli oggetti di configurazione. Il seguente modello di esempio mostra come creare uno stimatore generico. SageMaker È possibile sostituire estimator e Estimator con le classi principali e le classi di SageMaker estimatori di altri framework. Gli stimatori di SageMaker framework disponibili per questa funzionalità sono, e. TensorFlow PyTorch MXNet

    from sagemaker.estimator import Estimator estimator = Estimator( ... # Debugger parameters debugger_hook_config=hook_config, tensorboard_output_config=tensorboard_output_config ) estimator.fit()

    Il estimator.fit() metodo avvia un processo di formazione e Debugger scrive i file del tensore di output in tempo reale sul percorso di output del Debugger S3 e sul percorso di output S3. TensorBoard Per recuperare i percorsi di output, utilizza i seguenti metodi di valutazione:

    • Per il percorso di output di Debugger S3, usa estimator.latest_job_debugger_artifacts_path().

    • Per TensorBoard il percorso di output S3, usa. estimator.latest_job_tensorboard_artifacts_path()

  4. Al termine dell'addestramento, controlla i nomi dei tensori di output salvati:

    from smdebug.trials import create_trial trial = create_trial(estimator.latest_job_debugger_artifacts_path()) trial.tensor_names()
  5. Controlla i dati TensorBoard di output in Amazon S3:

    tensorboard_output_path=estimator.latest_job_tensorboard_artifacts_path() print(tensorboard_output_path) !aws s3 ls {tensorboard_output_path}/
  6. Scarica i dati TensorBoard di output sull'istanza del tuo notebook. Ad esempio, il AWS CLI comando seguente scarica i TensorBoard file nella directory di lavoro corrente dell'istanza del notebook. /logs/fit

    !aws s3 cp --recursive {tensorboard_output_path} ./logs/fit
  7. Comprimi la directory dei file in un TAR file da scaricare sul computer locale.

    !tar -cf logs.tar logs
  8. Scarica ed estrai il TAR file Tensorboard in una directory sul tuo dispositivo, avvia un server di notebook Jupyter, apri un nuovo notebook ed esegui l'app. TensorBoard

    !tar -xf logs.tar %load_ext tensorboard %tensorboard --logdir logs/fit

La seguente schermata animata illustra le fasi da 5 a 8. Dimostra come scaricare il file Debugger e caricare il TensorBoard TAR file su un notebook Jupyter sul dispositivo locale.

Animazione su come scaricare e caricare il file Debugger sul computer locale. TensorBoard