Profila il modello sulle VM Cloud TPU

La profilazione ti consente di ottimizzare le prestazioni di addestramento del tuo modello sulle Cloud TPU. Utilizzi TensorBoard e plug-in TensorBoard di Cloud TPU per profilare il modello.

Per ulteriori informazioni sull'utilizzo di TensorBoard con uno dei framework supportati, consulta i seguenti documenti:

Prerequisiti per la profilazione di uno script di addestramento

Prima di utilizzare gli strumenti di profilazione TPU, devi:

  1. Avvia una sessione di addestramento del modello

    1. Configurare una TPU v4-8 per addestrare un modello. La procedura di profilazione descritta in questo documento utilizza un modello ResNet, ma puoi utilizzarne un altro, a condizione che addestra su una TPU v4.
    2. Nella VM TPU, aggiungi una riga per avviare il server profiler allo script di addestramento.

      Per l'addestramento ResNET, lo script di addestramento si trova all'indirizzo: /usr/share/tpu/tensorflow/resnet50_keras/resnet50.py.

      Inserisci le linee evidenziate in resnet50.py. Nella parte superiore del file, aggiungi la seguente importazione:

      import tensorflow.compat.v2 as tf2
      

      Subito prima che gli script avviino il loop di addestramento, aggiungi riga evidenziata:

      if name == 'main':
       tf.logging.set_verbosity(tf.logging.INFO)
       tf2.profiler.experimental.server.start(6000)
       app.run(main)
      

      Il server profiler TensorFlow si avvia sulla VM TPU quando lo script.

    3. Avvia l'addestramento del modello.

      Esegui lo script di addestramento e attendi finché non viene visualizzato un output che indica del modello è in fase di addestramento. L'output dipende del codice e del modello. Cerca un output simile a Epoch 1/100. In alternativa, puoi accedere alla pagina di Cloud TPU Nella console Google Cloud, seleziona TPU e visualizzare il grafico di utilizzo della CPU. Mentre il grafico di utilizzo della CPU non mostra l'utilizzo della TPU, un'indicazione efficace che la TPU sta addestrando il modello.

Avvia la profilazione dell'addestramento del modello

Durante l'addestramento del modello, apri una finestra del terminale separata o Cloud Shell. Per iniziare la profilazione dell'addestramento del modello, segui questi passaggi.

  1. Nella nuova finestra o shell, connettiti alla VM TPU con il port forwarding.

    gcloud compute tpus tpu-vm ssh your-vm --zone=us-central2-b --ssh-flag="-4 -L 9001:localhost:9001"
    

    Il port forwarding consente al browser locale di comunicare con TensorBoard in esecuzione sulla VM TPU.

  2. Installa i requisiti di TensorFlow {: id="install-tensorboard"}.

    Nella VM TPU è installato TensorBoard per impostazione predefinita. Tu puoi anche installare TensorFlow manualmente. In ogni caso, potrebbero essere necessarie alcune dipendenze aggiuntive. Installa questi delle dipendenze sulla VM TPU mediante l'esecuzione di:

    pip3 install -r /usr/share/tpu/models/official/requirements.txt
    
  3. Installa il plug-in TensorBoard per Cloud TPU {: id="install-plugin"}.

    Dalla VM TPU, esegui questi comandi:

     pip3 install --upgrade "cloud-tpu-profiler>=2.3.0"
     pip3 install tensorflow
     pip3 install tensorboard_plugin_profile
    
  4. Avvia il server TensorBoard

    Esegui TensorBoard e crea una directory di log (logdir) sulla VM TPU in cui TensorBoard può scrivere i dati di profilazione. Specifica utilizzando il flag --logdir. Ad esempio:

    mkdir log-directory
    TPU_LOAD_LIBRARY=0 tensorboard --logdir log-directory --port 9001
    

TensorBoard avvia un server web e visualizza il relativo URL:

Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
TensorBoard 2.3.0 at http://localhost:9001 (Press CTRL+C to quit)

Apri un browser web e vai all'URL visualizzato nell'output di TensorBoard. Seleziona Profilo nel menu a discesa in alto a destra nella pagina TensorBoard. L'elenco degli strumenti di profilazione disponibili viene visualizzato nel menu a discesa tools sulla barra laterale sinistra.

immagine

Acquisisci un profilo sulle VM TPU

  1. Seleziona il pulsante ACQUISTA PROFILO.
  2. Seleziona il pulsante di opzione Indirizzo IP.
  3. Digita HOSTNAME:6000 nel campo Profile Service URL.
  4. Seleziona il pulsante CAPTURE.

immagine

Visualizza i dati del profilo con TensorBoard

Dopo aver acquisito un profilo, TensorBoard visualizza la overview_page. L'elenco di strumenti di profilazione che puoi utilizzare viene visualizzato nel riquadro a sinistra.

immagine

Profilo

La scheda Profilo viene visualizzata dopo aver acquisito alcuni dati del modello. Tu potresti dover fare clic sul pulsante di aggiornamento pagina TensorBoard. Quando i dati sono disponibili, fai clic sulla scheda Profilo. presenta una selezione di strumenti utili per l'analisi del rendimento. Puoi usa uno dei seguenti strumenti per profilare il modello.

Pagina Panoramica del profilo

La pagina Panoramica (overview_page), disponibile nella pagina Profilo, fornisce una visualizzazione generale delle prestazioni del modello durante l'esecuzione di un'acquisizione. La pagina mostra una panoramica aggregata di tutte le TPU e una panoramica l'analisi della pipeline di input. C'è un'opzione per selezionare singole TPU nell'elenco a discesa Host.

La pagina mostra i dati nei seguenti riquadri:

immagine

  • Riepilogo del rendimento

    • Utilizzo FLOPS: l'utilizzo percentuale delle unità della matrice TPU
  • Le prime dieci operazioni TensorFlow su TPU mostrano Operazioni TensorFlow che hanno consumato più tempo:

    Ogni riga mostra il tempo autonomo di un'operazione (come percentuale di tempo impiegato per tutte le operazioni), tempo cumulativo, categoria, nome e percentuale di FLOPS ottenuti.

  • Ambiente di esecuzione

    • Il numero di host utilizzati
    • Il tipo di TPU utilizzato
    • Il numero di core TPU

Analizzatore pipeline di input

Lo strumento di analisi della pipeline di input fornisce insight sui risultati delle prestazioni. Lo strumento indica immediatamente se il programma è vincolato all'input e può percorrere l'analisi lato host e dispositivo per eseguire il debug di qualsiasi fase della pipeline sta creando colli di bottiglia.

Leggi le indicazioni su prestazioni della pipeline di input per insight più approfonditi su come ottimizzare le prestazioni della pipeline.

Pipeline di input

Quando un programma TensorFlow legge i dati da un file, il processo di lettura viene suddiviso in più fasi di elaborazione dei dati collegate in serie. L'output di uno è l'input di quello successivo. Questo sistema di lettura è chiamato pipeline di input.

Una pipeline tipica per la lettura dei record dai file prevede le seguenti fasi:

  1. Lettura di file
  2. Pre-elaborazione dei file (facoltativa)
  3. Trasferimento di file dalla macchina host al dispositivo

Una pipeline di input inefficiente può rallentare gravemente l'applicazione. Un l'applicazione è considerata limitata all'input quando spende una parte significativa di tempo nella sua pipeline di input. Usare lo strumento di analisi della pipeline di input per comprendere in cui la pipeline di input è inefficiente.

Dashboard pipeline di input

Per aprire lo strumento di analisi della pipeline di input, seleziona Profilo, poi seleziona input_pipeline_analyzer dal menu a discesa Strumenti.

La dashboard mostra i dettagli delle analisi lato dispositivo e lato host.

Analisi lato dispositivo: mostra i dettagli sui tempi dei passi dei dispositivi.

  • Statistiche relative al tempo di passaggio del dispositivo
  • % di tempo di passaggio del dispositivo in attesa di dati di input

Analisi lato host

Questa sezione mostra i dettagli dell'analisi lato host suddivisa in diverse categorie:

  • accodamento dei dati da trasferire sul dispositivo Tempo trascorso nell'inserimento dei dati in una in coda prima di trasferire i dati al dispositivo.
  • Pre-elaborazione dei dati Tempo impiegato per le operazioni di pre-elaborazione, come le immagini decompressione.
  • Lettura in anticipo dei dati dei file Tempo dedicato alla lettura dei file, inclusa la memorizzazione nella cache, il precaricamento e l'interleaving.
  • Lettura di dati dei file on demand Tempo dedicato alla lettura dati da file senza memorizzazione nella cache, precaricamento e interfoliazione.
  • Altra lettura o elaborazione dei dati Tempo trascorso su altre operazioni correlate all'input non utilizza tf.data.

immagine

Per visualizzare le statistiche per singole operazioni di input e relative categorie con una suddivisione per tempo di esecuzione, espandi la sezione Show Input Op statistics.

Viene visualizzata una tabella di dati di origine come la seguente:

immagine

Ogni voce della tabella contiene le seguenti informazioni:

  1. Opzione di input Mostra il nome dell'operazione TensorFlow dell'operazione di input.
  2. Conteggio Mostra il numero totale di istanze dell'operazione eseguita durante il periodo di profilazione.
  3. Tempo totale (in ms) Mostra la somma cumulativa del tempo trascorso su ciascuno dei le istanze dell'operazione.
  4. %tempo totale mostra il tempo totale trascorso su un'operazione come frazione del il tempo totale trascorso nell'elaborazione degli input.
  5. Autotempo totale (in ms) Mostra il tempo accumulato. su tutte le istanze della funzione. Il tempo libero misura il tempo trascorso all'interno del corpo della funzione, escluso il tempo speso nelle funzioni richiamate. Ad esempio, Iterator::PaddedBatch::Filter::ForeverRepeat::Map è chiamata da Iterator::PaddedBatch::Filter, pertanto il suo totale l'autotime è escluso dal tempo totale di quest'ultimo.
  6. %auto-tempo totale Mostra il tempo totale auto-tempo come frazione del totale. tempo dedicato all'elaborazione degli input.
  7. Categoria Mostra la categoria di elaborazione dell'operazione di input.

Profilo operativo

Il profilo operativo è uno strumento Cloud TPU che mostra le prestazioni statistiche delle operazioni XLA eseguite durante un periodo di profilazione. Il profilo operativo mostra:

  • L'efficacia con cui l'applicazione utilizza la Cloud TPU come percentuale Tempo dedicato alle operazioni per categoria e all'utilizzo dei FLOPS delle TPU.
  • Le operazioni che richiedono più tempo. Queste operazioni sono potenziali bersagli per l'ottimizzazione.
  • Dettagli di singole operazioni, tra cui forma, spaziatura interna ed espressioni che utilizzano l'operazione.

Puoi utilizzare il profilo operativo per trovare i target per l'ottimizzazione. Ad esempio, puoi Usare il profilo operativo per identificare le operazioni XLA che richiedono più tempo e quanti FLOPS TPU consumano.

Utilizzo del profilo operativo

Lo strumento Profilo operativo contiene le statistiche sulle prestazioni delle operazioni XLA. Puoi per visualizzare i dati del profilo operativo in TensorBoard facendo clic sulla scheda Profilo nella nella parte superiore dello schermo e selezionando op_profile dal menu Strumenti menu a discesa. Verrà visualizzata una schermata simile alla seguente:

immagine

  1. La sezione Panoramica mostra l'utilizzo di Cloud TPU e fornisce suggerimenti per l'ottimizzazione.
  2. Pannello di controllo contiene i controlli che ti consentono di impostare il numero operazioni visualizzate nella tabella, quali operazioni sono visualizzate e come vengono ordinati.
  3. Tabella operativa Elenca le principali operazioni TensorFlow associate alle operazioni XLA. Queste operazioni sono ordinate per percentuale di utilizzo di Cloud TPU.
  4. Schede dei dettagli dell'operazione Mostra i dettagli delle operazioni. che vengono visualizzate quando posizioni il puntatore del mouse su un'operazione nella tabella. Questi dettagli includono l'utilizzo FLOPS, l'espressione in cui viene utilizzata l'operazione e il layout dell'operazione (fit).

Tabella operative XLA

La tabella delle operazioni elenca le categorie di operazioni XLA ordinate dalla più alta alla più bassa percentuale di utilizzo di Cloud TPU. La tabella mostra percentuale di tempo impiegato, il nome della categoria dell'operazione, operazione TensorFlow associata e la percentuale di utilizzo FLOPS per la categoria. Per visualizzare (o nascondi) le dieci operazioni XLA che richiedono più tempo per una categoria, fai clic triangolo accanto al nome della categoria nella tabella.

immagine

  1. Tempo mostra la percentuale totale di tempo trascorso da tutte le operazioni in quella categoria. Puoi fare clic per espandere la voce e visualizzare analisi dettagliata del tempo trascorso da ogni singola operazione.
  2. Top dieci Ops Il pulsante di attivazione/disattivazione accanto al nome di una categoria che viene visualizzato o nascosto. i principali dieci operazioni dispendiose in termini di tempo all'interno della categoria. Se un'operazione di fusione viene visualizzata nell'elenco delle operazioni, puoi espanderla per visualizzare non-fusion, contiene operazioni basate sugli elementi.
  3. TensorFlow Op Mostra il nome dell'operazione TensorFlow associati all'operazione XLA.
  4. FLOPS Mostra l'utilizzo FLOPS, ovvero il numero misurato di FLOPS espressi come percentuale dei FLOPS dei picchi di Cloud TPU. Maggiore è la percentuale di utilizzo FLOPS, più rapide sono le operazioni. La cella della tabella è codificata per colore: verde per un elevato utilizzo di FLOPS (valido) e rosso per un basso utilizzo di FLOPS (non valido).

Schede dei dettagli dell'operazione

Quando selezioni una voce in tabella, viene visualizzata una scheda che i dettagli sull'operazione XLA o sulla categoria delle operazioni. Una tipica carta ha il seguente aspetto: questo:

immagine

  • Nome e Categoria Mostra il nome e la categoria dell'operazione XLA evidenziati.
  • Utilizzo FLOPS mostra l'utilizzo di FLOPS come percentuale sul totale. I FLOPS sono possibili.
  • Espressione: mostra l'XLA. espressione di base contenente l'operazione.
  • Utilizzo memoria mostra la percentuale di utilizzo di memoria di picco da parte del tuo .
  • Layout (solo operazioni di convoluzione) mostra la forma e il layout di un tensore, tra cui: una descrizione di eventuale spaziatura interna eseguita dal compilatore XLA.

Interpretazione dei risultati

Per le operazioni di convoluzione, un basso utilizzo di FLOPS TPU può essere dovuto a uno o per entrambi i seguenti motivi:

  • spaziatura interna (le unità della matrice sono parzialmente utilizzate)
  • l'operazione di convoluzione è legata alla memoria

Questa sezione fornisce un'interpretazione di alcune metriche delle prestazioni di un modello con un basso utilizzo di FLOP. In questo esempio, output fusion e convolution ha dominato il tempo di esecuzione. C'erano molte operazioni vettoriali o scalari che ha avuto un basso utilizzo di FLOP.

Una strategia di ottimizzazione per questo tipo di profilo è la trasformazione le operazioni vettoriali o scalari alle operazioni di convoluzione.

Nell'esempio seguente, %convolution.399 mostra FLOPS e rispetto a %convolution.340 nell'esempio precedente.

immagine

In questo esempio, la dimensione del batch viene riempita a 128 le dimensioni delle caratteristiche vengono riempite a 8. In questo caso, solo il 5% della matrice utilizzate in modo efficace. L'utilizzo è calcolato in base a (((batch_time * num_of_features) / padding_size ) / num_of_cores. Confrontare i FLOPS di questo esempio con %convolution.340 dell'esempio precedente esempio che non utilizza spaziatura interna.

Visualizzatore Trace

Il visualizzatore Trace è uno strumento di analisi delle prestazioni di Cloud TPU disponibile sulla pagina Profilo. Lo strumento utilizza il visualizzatore di profilazione degli eventi di traccia di Chrome in modo che funzioni solo nel browser Chrome.

Nel visualizzatore Trace viene mostrata una sequenza temporale che mostra:

  • Durate delle operazioni eseguite da TensorFlow model.
  • Quale parte del sistema (TPU o macchina host) ha eseguito un'operazione. In genere, la macchina host esegue operazioni di Infeed, che pre-elaborano i dati di addestramento e li trasferisce alla TPU, mentre la TPU esegue durante l'addestramento del modello.

Il visualizzatore Trace consente di identificare i problemi di prestazioni nel modello, adottare le misure necessarie per risolverli. Ad esempio, a livello generale, puoi identificare se l'addestramento del modello o in-feed richiede la maggior parte del tempo. Trivellazione puoi identificare le operazioni TensorFlow che richiedono più a lungo da eseguire.

Il visualizzatore Trace è limitato a 1 milione di eventi per ogni Cloud TPU. Se è necessario valutare più eventi, usa il visualizzatore di tracce di flusso .

Interfaccia del visualizzatore Trace

Per aprire il visualizzatore tracce, vai a TensorBoard e fai clic sulla scheda Profilo nella parte superiore dello schermo e scegli trace_viewer dal menu a discesa Strumenti. La viene visualizzato il visualizzatore della tua esecuzione più recente:

immagine

Questa schermata contiene i seguenti elementi principali (contrassegnati da numeri nel screenshot precedente):

  1. Elenco a discesa Esecuzioni Contiene tutte le esecuzioni per le quali hai selezionato le informazioni di traccia acquisite. La visualizzazione predefinita è la più recente dell'esecuzione, ma puoi aprire il menu a discesa per selezionarne un'altra.
  2. Menu a discesa Strumenti Consente di selezionare diversi strumenti di profilazione.
  3. Menu a discesa Host Seleziona un host contenente una Cloud TPU per iniziare.
  4. Il riquadro Sequenza temporale mostra le operazioni che Cloud TPU e eseguita nel tempo.
  5. Riquadro dei dettagli Mostra informazioni aggiuntive per le operazioni selezionato nel riquadro della sequenza Timeline.

Di seguito è riportata una panoramica più approfondita del riquadro della sequenza temporale:

immagine

Il riquadro Cronologia contiene i seguenti elementi:

  1. Barra superiore Contiene vari controlli ausiliari.
  2. Asse temporale Mostra il tempo relativo all'inizio della traccia.
  3. Etichette delle sezioni e delle tracce Ogni sezione contiene più canali e presenta un triangolo a sinistra su cui puoi fare clic per espandere e comprimere la . Esiste una sezione per ogni elemento di elaborazione del sistema.
  4. Selettore strumenti: contiene vari strumenti per interagire con visualizzatore tracce.
  5. Eventi mostra il periodo di tempo durante il quale è stata eseguita un'operazione. la durata dei meta-eventi, come le fasi di addestramento.
  6. Barra a schede verticale Questa barra non ha uno scopo utile per Cloud TPU. La barra fa parte dello strumento di visualizzazione di tracce per uso generico fornito da Chrome che viene utilizzato per varie attività di analisi delle prestazioni.

Sezioni e canali

Il visualizzatore Trace contiene le seguenti sezioni:

  • Una sezione per ogni nodo TPU, etichettata con il numero del chip TPU e il core TPU all'interno del chip (ad esempio, "Chip 2: TPU Core 1"). Ciascuna La sezione del nodo TPU contiene i seguenti canali:
    • Passaggio mostra la durata dei passaggi di addestramento in esecuzione sulla TPU.
    • TensorFlow Ops Mostra le operazioni TensorFlow eseguite sulla TPU.
    • Operazioni XLA Mostra XLA le operazioni eseguite sulla TPU. Ogni operazione viene tradotta in una o più operazioni XLA. Il compilatore XLA traduce le operazioni XLA nel codice eseguito sulla TPU.)
  • Una sezione per i thread in esecuzione sulla CPU host, con l'etichetta "Thread host". La sezione contiene una traccia per ogni CPU . Nota: puoi ignorare le informazioni visualizzate accanto alla sezione etichette.

Selettore strumento Timeline

Puoi interagire con la visualizzazione cronologica utilizzando il selettore dello strumento della sequenza temporale in TensorBoard. Fai clic su uno strumento della sequenza temporale per attivare ed evidenziare uno strumento. Per spostare il selettore dello strumento della sequenza temporale, fai clic nell'area tratteggiata in alto e poi trascina il selettore dove vuoi.

Utilizza gli strumenti per la cronologia come segue:

Strumento di selezione
fai clic su un evento per selezionarlo o trascina per selezionare più eventi. Ulteriori informazioni sull'evento o sugli eventi selezionati (nome, ora di inizio, e la durata) verranno visualizzate nel riquadro dei dettagli.

Strumento Panoramica
Trascina per eseguire la panoramica della visualizzazione cronologica orizzontalmente e verticalmente.

Strumento Zoom
Trascina verso l'alto per aumentare lo zoom o verso il basso per diminuire lo zoom lungo l'orizzontale (tempo) . La posizione orizzontale del cursore del mouse determina il centro intorno di cui viene eseguito lo zoom.

Nota:se lo strumento Zoom rimane attivo dopo aver rilasciato il fai clic sulla visualizzazione della sequenza temporale per disattivare lo strumento zoom.

Strumento di monitoraggio
Trascina in orizzontale per contrassegnare un intervallo di tempo. La lunghezza dell'intervallo visualizzato sull'asse del tempo. Per regolare l'intervallo, trascinane le estremità. Per cancellare il valore fai clic in un punto qualsiasi della visualizzazione cronologica.

Se selezioni un altro strumento, l'intervallo rimane contrassegnato.

Visualizzatore memoria

Il visualizzatore della memoria ti consente di visualizzare le tendenze relative ai picchi di utilizzo della memoria e all'utilizzo della memoria per il tuo programma.

L'interfaccia utente del visualizzatore della memoria ha il seguente aspetto:

immagine

  1. Menu a discesa host Consente di selezionare un host TPU e l'ottimizzatore di alto livello XLA (HLO) da visualizzare.
  2. Panoramica memoria mostra l'allocazione e le dimensioni massime della memoria senza spaziatura interna.
  3. Grafico dello spazio di lavoro Mostra il picco di utilizzo della memoria e un diagramma della memoria utilizzata. tendenze per il tuo programma. Punta a un buffer in uno dei buffer grafici per visualizzare informazioni aggiuntive nella scheda di allocazione del buffer.
  4. Grafici buffer Due grafici che visualizzano l'allocazione del buffer nei momenti di picco di memoria all'utilizzo delle risorse. Posiziona il puntatore del mouse su un buffer in uno dei grafici buffer per visualizzare informazioni nella scheda dei dettagli del buffer.
  5. Scheda dei dettagli dell'allocazione del buffer: mostra i dettagli di allocazione per un buffer.

Riquadro panoramica memoria

Il riquadro della panoramica della memoria (in alto) mostra il nome del modulo e il picco di memoria impostata quando la dimensione totale di allocazione del buffer raggiunge il valore massimo. La per il confronto viene mostrata anche la dimensione di allocazione dei picchi senza padding.

immagine

Grafico dello spazio di lavoro

Questo grafico mostra il picco di utilizzo della memoria e un grafico delle tendenze di utilizzo della memoria per . La linea verticale indica il picco di utilizzo della memoria per il programma. Questo mostra se il programma rientra nello spazio di memoria globale disponibile.

immagine

Ogni punto del grafico rappresenta un "punto del programma" nel programma XLA HLO. La mostra come cambia l'utilizzo della memoria del programma nel tempo.

Interazione con gli elementi del grafico buffer

Quando posizioni il puntatore del mouse su un buffer nei grafici abuffer, viene restituito uno stato una linea che mostra la durata del buffer appare nel grafico dello spazio di lavoro.

immagine

Lo spessore della linea orizzontale indica la grandezza relativa del tampone rispetto all'allocazione del picco di memoria. La lunghezza della linea indica per la durata del buffer.

Grafici buffer

Due grafici mostrano l'analisi dettagliata dell'utilizzo della memoria nel picco di utilizzo.

immagine

  • Per ordine programma Visualizza i buffer da sinistra a destra nell'ordine in che erano attivi durante l'esecuzione del programma.

  • Per dimensione Visualizza i buffer attivi durante l'esecuzione del programma. in ordine di dimensione decrescente.

Scheda dei dettagli dell'allocazione del buffer

Quando posizioni il puntatore su un buffer visualizzato in uno dei grafici buffer, viene visualizzato dei dettagli dell'allocazione. Una tipica scheda dei dettagli ha il seguente aspetto:

immagine

  1. Nome: nome dell'operazione XLA.
  2. Categoria: la categoria dell'operazione.
  3. Dimensioni: la dimensione dell'allocazione del buffer (inclusa la spaziatura interna).
  4. Dimensioni non riempite: la dimensione dell'allocazione del buffer senza spaziatura interna.
  5. Espansione: la grandezza relativa della dimensione del buffer riempito rispetto a quella del buffer non riempito. dimensioni.
  6. Memoria aggiuntiva: indica la quantità di memoria in più utilizzata per la spaziatura interna.
  7. Forma: descrive ranking, dimensione e tipo di dati della dimensione n. un array di dati.
  8. Nome operazione TensorFlow: mostra il nome di TensorFlow operazione associata con l'allocazione del buffer.
  9. Tipo di allocazione. Indica la categoria di allocazione del buffer: Parametro, Output, Thread-local e Temporaneo (ad esempio, buffer all'interno di una fusione).

Errori di memoria esaurita

Se esegui un modello e ottieni una "memoria esaurita" errore, segui le linee guida in questo documento per acquisire un profilo. Attendi finché lo script non addestra il modello prima di avviare il profiler. L'output della profilazione può aiutarti a capire ha causato l'errore.