Profila il modello sulle VM Cloud TPU
La profilazione ti consente di ottimizzare le prestazioni di addestramento del 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:
- Guida alle prestazioni di TensorFlow
- Guida al rendimento di PyTorch
- Guida al rendimento della piattaforma JAX
Prerequisiti per la profilazione di uno script di addestramento
Prima di utilizzare gli strumenti di profilazione TPU, devi:
Avvia una sessione di addestramento del modello
- 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.
Nella VM TPU, aggiungi una riga per avviare il server profiler allo script di addestramento.
Per l'addestramento di ResNET, lo script di addestramento si trova all'indirizzo:
/usr/share/tpu/tensorflow/resnet50_keras/resnet50.py
.Inserisci le linee evidenziate in resnet50.py. All'inizio del file, aggiungi la seguente importazione:
import tensorflow.compat.v2 as tf2
Poco prima che gli script inizino il ciclo di addestramento, aggiungi la linea 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 per eseguire lo script.
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.
Inizia a profilare l'addestramento del modello
Quando il modello è in fase di addestramento, apri una finestra del terminale o Cloud Shell separata. Per iniziare la profilazione dell'addestramento del modello, segui questi passaggi.
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.
Installa i requisiti di TensorFlow.
Nella VM TPU è installato TensorBoard per impostazione predefinita. Tu puoi anche installare TensorFlow manualmente. In ogni caso, potrebbero essere necessarie alcune dipendenze aggiuntive. Installa queste dipendenze sulla VM TPU eseguendo:
pip3 install -r /usr/share/tpu/models/official/requirements.txt
Installa il plug-in TensorBoard per Cloud TPU.
Dalla VM TPU, esegui questi comandi:
pip3 install --upgrade "cloud-tpu-profiler>=2.3.0" pip3 install tensorflow pip3 install tensorboard_plugin_profile
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 la directory dei log 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 dal menu a discesa in alto a destra nella pagina di TensorBoard. L'elenco degli strumenti di profilazione disponibili viene visualizzato nel menu a discesa Strumenti nella barra laterale sinistra.
Acquisisci un profilo sulle VM TPU
- Seleziona il pulsante ACQUISTA PROFILO.
- Seleziona il pulsante di opzione Indirizzo IP.
- Digita HOSTNAME:6000 nel campo
Profile Service URL
. - Seleziona il pulsante ACQUISISCI.
Visualizza i dati del profilo con TensorBoard
Dopo aver acquisito un profilo, TensorBoard visualizza la overview_page. L'elenco degli strumenti di profilazione che puoi utilizzare viene visualizzato nel riquadro a sinistra.
Profilo
La scheda Profilo viene visualizzata dopo aver acquisito alcuni dati del modello. Potrebbe essere necessario fare clic sul pulsante di aggiornamento nella pagina di TensorBoard. Quando i dati sono disponibili, fai clic sulla scheda Profilo. offre una selezione di strumenti utili per l'analisi del rendimento. Puoi usa uno dei seguenti strumenti per profilare il modello.
- Pagina Panoramica
- Analizzatore pipeline di input
- Profilo operazione XLA
- Visualizzatore di traccia (solo browser Chrome)
- Visualizzatore di memorie
Pagina Panoramica del profilo
La pagina Panoramica (overview_page), disponibile nella pagina Profilo, fornisce una panoramica di primo livello sul rendimento 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. Esiste un'opzione per selezionare singole TPU nel menu a discesa Host.
La pagina mostra i dati nei seguenti riquadri:
Riepilogo rendimento
- Utilizzo FLOPS: la percentuale di utilizzo delle unità di matrice TPU
Le dieci operazioni TensorFlow principali su TPU Mostra le operazioni TensorFlow che hanno richiesto più tempo:
Ogni riga mostra il tempo di esecuzione di un'operazione (come percentuale del tempo impiegato da tutte le operazioni), il tempo cumulativo, la categoria, il nome e la frequenza FLOPS raggiunta.
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ò procedere l'analisi lato host e dispositivo per eseguire il debug di qualsiasi fase della pipeline sta creando colli di bottiglia.
Consulta le indicazioni sul rendimento della pipeline di input per informazioni più approfondite sull'ottimizzazione del rendimento 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 quella successiva. Questo sistema di lettura è chiamato pipeline di input.
Una pipeline tipica per la lettura dei record dai file prevede le seguenti fasi:
- Lettura dei file
- Pre-elaborazione dei file (facoltativa)
- 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 della 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 dell'analisi lato dispositivo e lato host.
Analisi lato dispositivo: mostra i dettagli sui tempi di percorrenza dei dispositivi.
- Statistiche relative al tempo del 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:
- Coda dei dati da trasferire al dispositivo Tempo impiegato per inserire i dati in una coda infeed prima di trasferirli al dispositivo.
- Pretrattamento dei dati Tempo impiegato per le operazioni di pre-elaborazione, come la decompressione delle immagini.
- 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
.
Per visualizzare le statistiche relative alle singole operazioni di inserimento e alle relative categorie distintamente per tempo di esecuzione, espandi la sezione Show Input Op statistics
.
Viene visualizzata una tabella di dati di origine come la seguente:
Ogni voce della tabella contiene le seguenti informazioni:
- Operazione di input Mostra il nome dell'operazione di input di TensorFlow.
- Conteggio Mostra il numero totale di istanze dell'operazione eseguita durante il periodo di profilazione.
- Tempo totale (in ms) Mostra la somma cumulativa del tempo trascorso in ciascuna delle istanze dell'operazione.
- % Tempo totale Mostra il tempo totale impiegato per un'operazione come frazione del tempo totale impiegato per l'elaborazione dell'input.
- Tempo di esecuzione 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 daIterator::PaddedBatch::Filter
, pertanto il suo totale l'autotime è escluso dal tempo totale di quest'ultimo. - %auto-tempo totale Mostra il tempo totale auto-tempo come frazione del totale. tempo dedicato all'elaborazione degli input.
- Categoria Mostra la categoria di elaborazione dell'operazione di input.
Profilo dell'operatore
Il profilo dell'operazione è uno strumento Cloud TPU che mostra le statistiche sul rendimento delle operazioni XLA eseguite durante un periodo di profilazione. Il profilo dell'operazione 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 il numero di FLOPS TPU che consumano.
Utilizzo del profilo dell'operatore
Lo strumento Profilo operativo contiene le statistiche sulle prestazioni delle operazioni XLA. Puoi visualizzare i dati del profilo dell'operatore in TensorBoard facendo clic sulla scheda Profilo nella parte superiore dello schermo e selezionando op_profile dal menu a discesa Strumenti. Vedrai una schermata simile alla seguente:
- La sezione Panoramica mostra l'utilizzo di Cloud TPU e fornisce suggerimenti per l'ottimizzazione.
- 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.
- Tabella operativa Elenca le principali operazioni TensorFlow associate alle operazioni XLA. Queste operazioni sono ordinate per percentuale di utilizzo di Cloud TPU.
- Schede dei dettagli delle operazioni: mostrano i dettagli delle operazioni visualizzate quando passi il mouse sopra 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 la percentuale di tempo impiegato, il nome della categoria di operazioni, il nome dell'operazione TensorFlow associata e la percentuale di utilizzo dei FLOPS per la categoria. Per visualizzare (o nascondere) le dieci operazioni XLA più dispendiose in termini di tempo per una categoria, fai clic sul triangolo accanto al nome della categoria nella tabella.
- Tempo mostra la percentuale totale di tempo trascorso da tutte le operazioni in quella categoria. Puoi fare clic per espandere la voce e visualizzare la suddivisione del tempo impiegato da ogni singola operazione.
- Primi dieci op. Il pulsante di attivazione/disattivazione accanto al nome di una categoria che mostra o nasconde le dieci operazioni più dispendiose in termini di tempo all'interno della categoria. Se nell'elenco delle operazioni è visualizzata una voce di operazione di fusione, puoi espanderla per visualizzare le operazioni elementari non di fusione che contiene.
- TensorFlow Op Mostra il nome dell'operazione TensorFlow associati all'operazione XLA.
- FLOPS Mostra l'utilizzo in FLOPS, ovvero il numero misurato di FLOPS espresso in percentuale dei FLOPS di picco di Cloud TPU. Maggiore è la percentuale di utilizzo dei FLOPS, più velocemente vengono eseguite 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 dell'operazione. Una tipica carta ha il seguente aspetto: questo:
- Nome e Categoria mostrano 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'espressione XLA 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 convezione, l'utilizzo ridotto dei FLOPS TPU potrebbe essere dovuto a uno o entrambi i seguenti motivi:
- padding (le unità della matrice vengono utilizzate parzialmente)
- l'operazione di convergenza è vincolata dalla memoria
Questa sezione fornisce un'interpretazione di alcune metriche sul rendimento di un modello con un utilizzo ridotto di FLOP. In questo esempio, la fusione dell'output e la convoluzione hanno avuto un impatto significativo sul tempo di esecuzione. Sono state eseguite molte operazioni vettoriali o scalari con un utilizzo ridotto di FLOP.
Una strategia di ottimizzazione per questo tipo di profilo è trasformare le operazioni vettoriali o scalari in operazioni di convoluzione.
Nell'esempio seguente, %convolution.399 mostra FLOPS e rispetto a %convolution.340 nell'esempio precedente.
In questo esempio, la dimensione del batch viene aumentata a 128 e la dimensione del tratto 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:
- Durata delle operazioni eseguite dal tuo modello TensorFlow.
- La parte del sistema (TPU o macchina host) che ha eseguito un'operazione. In genere, la macchina host esegue operazioni infeed, che pre-elabora i dati di addestramento e li trasferisce alla TPU, mentre la TPU esegue l'addestramento effettivo del modello.
Lo strumento di visualizzazione dei tracciati ti consente di identificare i problemi di prestazioni del modello, quindi di adottare misure per risolverli. Ad esempio, a un livello generale, puoi identificare se l'infeed o l'addestramento del modello richiede la maggior parte del tempo. Se esamini più da vicino, puoi identificare le operazioni TensorFlow che richiedono più tempo per essere eseguite.
Il visualizzatore di traccia è limitato a 1 milione di eventi per ogni Cloud TPU. Se devi valutare più eventi, utilizza il visualizzatore delle tracce in streaming.
Interfaccia di Trace Viewer
Per aprire il visualizzatore tracce, vai a TensorBoard e fai clic sulla scheda Profilo nella nella parte superiore dello schermo e scegli trace_viewer dal menu a discesa Strumenti. La viene visualizzato il visualizzatore della tua esecuzione più recente:
Questa schermata contiene i seguenti elementi principali (contrassegnati con numeri nella schermata precedente):
- Menu a discesa Esecuzioni Contiene tutte le esecuzioni per le quali hai acquisito informazioni sulle tracce. La visualizzazione predefinita è l'esecuzione più recente, ma puoi aprire il menu a discesa per selezionare un'altra esecuzione.
- Menu a discesa Strumenti Consente di selezionare diversi strumenti di profilazione.
- Menu a discesa Host Seleziona un host contenente una Cloud TPU per iniziare.
- Riquadro Spostamenti Mostra le operazioni eseguite da Cloud TPU e dalla macchina ospitante nel tempo.
- Riquadro dei dettagli Mostra informazioni aggiuntive sulle operazioni selezionate nel riquadro Spostamenti.
Ecco un'immagine più dettagliata del riquadro della sequenza temporale:
Il riquadro Spostamenti contiene i seguenti elementi:
- Barra in alto Contiene vari controlli ausiliari.
- Asse temporale Mostra il tempo relativo all'inizio della traccia.
- Etichette di sezioni e tracce Ogni sezione contiene più tracce e ha un triangolo a sinistra su cui puoi fare clic per espandere e comprimere la sezione. Esiste una sezione per ogni elemento di elaborazione del sistema.
- Selettore strumenti: contiene vari strumenti per interagire con visualizzatore tracce.
- Eventi mostra il tempo durante il quale un'operazione è stata eseguita o la durata dei meta-eventi, come le fasi di addestramento.
- Barra a schede verticale Questa barra non ha uno scopo utile per Cloud TPU. La barra fa parte dello strumento di visualizzazione delle tracce per uso generale fornito da Chrome, che viene utilizzato per varie attività di analisi del rendimento.
Sezioni e canali
Lo strumento di visualizzazione dei tracciati 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"). Ogni 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.
- XLA Ops mostra le operazioni XLA 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 un canale per ogni thread della CPU. Nota: puoi ignorare le informazioni visualizzate accanto alle etichette delle sezioni.
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. Nel riquadro dei dettagli vengono visualizzate ulteriori informazioni sull'evento o sugli eventi selezionati (nome, ora di inizio e durata). |
|
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 al quale avviene lo zoom. Nota: se lo strumento di zoom rimane attivo dopo aver rilasciato il pulsante del mouse, fai clic sulla visualizzazione della sequenza temporale per disattivarlo. |
|
Strumento di temporizzazione Trascina in orizzontale per contrassegnare un intervallo di tempo. La durata dell'intervallo viene visualizzata sull'asse del tempo. Per regolare l'intervallo, trascinane le estremità. Per cancellare l'intervallo, fai clic in un punto qualsiasi all'interno della visualizzazione della cronologia. Se selezioni un altro strumento, l'intervallo rimane contrassegnato. |
Visualizzatore della 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 è la seguente:
- Menu a discesa host - Consente di selezionare un host TPU e l'ottimizzatore di alto livello XLA (HLO) da visualizzare.
- Panoramica della memoria Mostra l'allocazione e le dimensioni di picco della memoria senza spaziatura interna.
- Grafico Spazio di lavoro Mostra il picco di utilizzo della memoria e un grafico delle tendenze di utilizzo della memoria per il programma. Punta a un buffer in uno dei buffer grafici per visualizzare informazioni aggiuntive nella scheda di allocazione del buffer.
- Grafici del 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.
- Scheda dei dettagli di allocazione del buffer: mostra i dettagli di allocazione per un buffer.
Riquadro Panoramica della memoria
Il riquadro Panoramica della memoria (in alto) mostra il nome del modulo e l'allocazione massima della memoria impostata quando la dimensione dell'allocazione del buffer totale raggiunge il massimo. La per il confronto viene mostrata anche la dimensione di allocazione dei picchi senza padding.
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.
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 posi il puntatore del mouse su un buffer nei grafici dei buffer, nel grafico dello spazio di lavoro viene visualizzata una linea orizzontale che mostra la durata del buffer.
Lo spessore della linea orizzontale indica la grandezza relativa del tampone rispetto all'allocazione del picco di memoria. La lunghezza della linea indica la durata del buffer.
Grafici buffer
Due grafici mostrano l'analisi dettagliata dell'utilizzo della memoria nel picco di utilizzo.
Per ordine del programma Mostra i buffer da sinistra a destra nell'ordine in cui erano attivi durante l'esecuzione del programma.
Per dimensione Visualizza i buffer attivi durante l'esecuzione del programma. in ordine 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:
- Nome: nome dell'operazione XLA.
- Categoria: la categoria dell'operazione.
- Dimensioni: la dimensione dell'allocazione del buffer (inclusa la spaziatura interna).
- Dimensioni senza spaziatura: le dimensioni dell'allocazione del buffer senza spaziatura.
- Espansione: l'entità relativa delle dimensioni del buffer con spaziatura rispetto alle dimensioni senza spaziatura.
- Memoria aggiuntiva: indica la quantità di memoria in più utilizzata per la spaziatura interna.
- Forma: descrive il rango, le dimensioni e il tipo di dati dell'array N-dimensionale.
- Nome operazione TensorFlow: mostra il nome di TensorFlow operazione associata con l'allocazione del buffer.
- 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 insufficiente
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.