logo

TensorBoard

TensorFlow è uno strumento di visualizzazione chiamato TensorBoard. Viene utilizzato per analizzare il grafico del flusso di dati e per comprendere i modelli di apprendimento automatico. TensorBoard è l'interfaccia utilizzata per visualizzare il grafico e molti strumenti per comprendere, eseguire il debug e ottimizzare il modello.

La caratteristica importante di TensorBoard è che include una visualizzazione di diversi tipi di statistiche sui parametri e i dettagli di qualsiasi grafico in un allineamento verticale.

css per allineare le immagini

La rete neurale profonda include fino a 36.000 nodi. TensorFlow aiuta a comprimere questi nodi in alto nel comprimere questi nodi in blocchi di alto livello ed evidenziare le strutture identiche. Ciò consente una migliore analisi del grafico, concentrandosi sulle sezioni primarie del grafico di calcolo.

TensorBoard

Si dice che la visualizzazione TensorBoard sia molto interattiva in cui un utente può eseguire la panoramica, lo zoom ed espandere i nodi per visualizzare i dettagli.

Di seguito è riportata la rappresentazione del diagramma fornita che mostra il funzionamento completo della visualizzazione TensorBoard-

TensorBoard

Gli algoritmi comprimono i nodi in blocchi di alto livello ed evidenziano gruppi specifici con strutture identiche, che separano i nodi di alto grado. Il TensorBoard creato è utile ed è considerato altrettanto importante per la messa a punto di un modello di machine learning. Questo strumento di visualizzazione è progettato per il file di registro di configurazione.

Guarda la foto sotto:

TensorBoard

Una rete neurale decide come connettere i diversi ' neuroni ' e quanti strati prima del modello possono prevedere il risultato. Una volta definita l'architettura, non dobbiamo solo addestrare il modello ma anche le metriche per calcolare l'accuratezza della previsione. Questa metrica viene definita funzione di perdita. L'obiettivo è quello di una funzione di perdita.

TensorBoard è un ottimo strumento per visualizzare le metriche ed evidenziare i potenziali problemi. La rete neurale può impiegare ore o settimane prima di trovare una soluzione. TensorBoard aggiorna i parametri molto spesso.

TensorBoard si trova a questo URL: http://localhost:6006

Tipi di dashboard in TensorBoard

TensorBoard

1. Dashboard scalare

Viene utilizzato per visualizzare le statistiche dipendenti dal tempo; ad esempio, potremmo voler esaminare le variazioni nel tasso di apprendimento o nella funzione di perdita.

2. Istogramma

La dashboard dell'istogramma in TensorBoard mostra come la distribuzione statistica di un tensore è variata nel tempo. Visualizza i dati registrati tramite tf.summary.istogramma .

identificatori validi Java

3. Pannello di distribuzione

Mostra un utilizzo di alto livello di tf.summary.istogramma . Mostra alcuni inizi di alto livello su una distribuzione. Ogni linea del grafico fornisce un suggerimento sul percentile nella distribuzione dei dati.

4. Pannello di controllo delle immagini

Questo mostra il png che è stato salvato tramite a tf.summary.immagine . Le righe corrispondono alle etichette e le colonne all'esecuzione. Utilizzando questa dashboard immagine di TensorBoard, possiamo incorporare visualizzazioni personalizzate.

5. Pannello di controllo audio

È uno strumento eccellente per incorporare widget audio riproducibili per gli audio salvati tramite a tf.summary.audio . La dashboard incorpora sempre l'audio più recente per ogni tag.

6. Esplora grafici

Viene utilizzato principalmente per consentire l'ispezione del modello TensorFlow.

7. Proiettore

Il proiettore di incorporamento in TensorFlow utilizzato per dati multidimensionali. Il proiettore di incorporamento legge i dati dal file del punto di controllo e potrebbe essere configurato con i dati corrispondenti, come un file di vocabolario.

8. Pannello di testo

Text Dashboard mostra gli esperti di testo salvati tramite tf.summary.text. , include funzionalità come collegamenti ipertestuali, elenchi e tabelle, sono tutte supportate.

TensorBoard

Diverse visualizzazioni di TensorBoard

Viste diverse accettano input di formati diversi e li visualizzano in modo diverso. Possiamo cambiarli sulla barra arancione in alto.

ciclo infinito
    Scalari-Visualizza valori scalari, come l'accuratezza della classificazione.Grafico-Visualizza il grafico computazionale del nostro modello, come il modello della rete neurale.Distribuzioni-Visualizza come i dati cambiano nel tempo, ad esempio i pesi di una rete neurale.Istogrammi-Una vista più elaborata della distribuzione che mostra una distribuzione che mostra le distribuzioni in una prospettiva tridimensionale.Proiettore-Può essere utilizzato per visualizzare gli incorporamenti di parole (ovvero, gli incorporamenti di parole sono rappresentazioni numeriche di parole che catturano le loro relazioni semantiche)Immagine-Visualizzazione dei dati dell'immagineAudio-Visualizzazione dei dati audioTesto-Visualizzazione dei dati di testo

Come utilizzare TensorBoard?

Impareremo come aprire TensorBoard dal terminale per MacOS e Windows a riga di comando.

Il codice verrà spiegato in un prossimo tutorial; il focus qui è su TensorBoard.

Per prima cosa dobbiamo importare le librerie che utilizzeremo durante la formazione.

 ## Import the library import tensorflow as tf import numpy as np 

Creiamo i dati. È un array di 10000 righe e colonne/p>

 X_train = (np.random.sample((10000,5))) y_train = (np.random.sample((10000,1))) X_train.shape 

Il codice seguente trasforma i dati e crea il modello.

Si noti che il tasso di apprendimento è pari a 0,1. Se modifichiamo questo tasso con un valore più alto, il modello non troverà una soluzione. Questo è quello che è successo sul lato sinistro dell'immagine sopra.

Nell'esempio seguente, memorizziamo il modello all'interno della directory di lavoro, ovvero dove memorizziamo il notebook o il file python. All'interno del percorso, TensorFlow crea una cartella denominata train con una cartella secondaria denominata linreg.

 feature_columns = [ tf.feature_column.numeric_column('x', shape=X_train.shape[1:])] DNN_reg = tf.estimator.DNNRegressor(feature_columns=feature_columns, # Indicate where to store the log file model_dir='train', hidden_units=[500, 300], optimizer=tf.train.ProximalAdagradOptimizer( learning_rate=0.1, l1_regularization_strength=0.001 ) ) 

Produzione:

 INFO:tensorflow:Using the default configuration. INFO:tensorflow:Using config:{'_model_dir': 'train/linreg', '_tf_random_seed': None, '_save_summary_steps': 100, '_save_checkpoints_steps': None, '_save_checkpoints_secs': 600, '_session_config': None, '_keep_checkpoint_max': 5, '_keep_checkpoint_every_n_hours': 10000, '_log_step_count_steps': 100, '_train_distribute': None, '_service': None, '_cluster_spec': , '_task_type': 'worker', '_task_id': 0, '_global_id_in_cluster': 0, '_master': '', '_evaluation_master': '', '_is_chief': True, '_num_ps_replicas': 0, '_num_worker_replicas': 1} 

L'ultimo passaggio consiste nell'addestrare il modello. Durante il periodo di addestramento, TensorFlow scrive le informazioni nella directory del modello.

 # Train the estimator train_input = tf.estimator.inputs.numpy_input_fn( x={'x': X_train}, y=y_train, shuffle=False,num_epochs=None) DNN_reg.train(train_input,steps=3000) 

Produzione:

 INFO:tensorflow:Calling model_fn. INFO:tensorflow:Done calling model_fn. INFO:tensorflow:Create CheckpointSaverHook. INFO:tensorflow: Graph was finalized. INFO:tensorflow:Running local_init_op. INFO:tensorflow:Done running local_init_op. INFO:tensorflow:Saving checkpoints for 1 into train/linreg/model.ckpt. INFO:tensorflow:loss = 40.060104, step = 1 INFO:tensorflow:global_step/sec: 197.061 INFO:tensorflow:loss = 10.62989, step = 101 (0.508 sec) INFO:tensorflow:global_step/sec: 172.487 INFO:tensorflow:loss = 11.255318, step = 201 (0.584 sec) INFO:tensorflow:global_step/sec: 193.295 INFO:tensorflow:loss = 10.604872, step = 301 (0.513 sec) INFO:tensorflow:global_step/sec: 175.378 INFO:tensorflow:loss = 10.090343, step = 401 (0.572 sec) INFO:tensorflow:global_step/sec: 209.737 INFO:tensorflow:loss = 10.057928, step = 501 (0.476 sec) INFO:tensorflow:global_step/sec: 171.646 INFO:tensorflow:loss = 10.460144, step = 601 (0.583 sec) INFO:tensorflow:global_step/sec: 192.269 INFO:tensorflow:loss = 10.529617, step = 701 (0.519 sec) INFO:tensorflow:global_step/sec: 198.264 INFO:tensorflow:loss = 9.100082, step = 801 (0.504 sec) INFO:tensorflow:global_step/sec: 226.842 INFO:tensorflow:loss = 10.485607, step = 901 (0.441 sec) INFO:tensorflow:global_step/sec: 152.929 INFO:tensorflow:loss = 10.052481, step = 1001 (0.655 sec) INFO:tensorflow:global_step/sec: 166.745 INFO:tensorflow:loss = 11.320213, step = 1101 (0.600 sec) INFO:tensorflow:global_step/sec: 161.854 INFO:tensorflow:loss = 9.603306, step = 1201 (0.619 sec) INFO:tensorflow:global_step/sec: 179.074 INFO:tensorflow:loss = 11.110269, step = 1301 (0.556 sec) INFO:tensorflow:global_step/sec: 202.776 INFO:tensorflow:loss = 11.929443, step = 1401 (0.494 sec) INFO:tensorflow:global_step/sec: 144.161 INFO:tensorflow:loss = 11.951693, step = 1501 (0.694 sec) INFO:tensorflow:global_step/sec: 154.144 INFO:tensorflow:loss = 8.620987, step = 1601 (0.649 sec) INFO:tensorflow:global_step/sec: 151.094 INFO:tensorflow:loss = 10.666125, step = 1701 (0.663 sec) INFO:tensorflow:global_step/sec: 193.644 INFO:tensorflow:loss = 11.0349865, step = 1801 (0.516 sec) INFO:tensorflow:global_step/sec: 189.707 INFO:tensorflow:loss = 9.860596, step = 1901 (0.526 sec) INFO:tensorflow:global_step/sec: 176.423 INFO:tensorflow:loss = 10.695, step = 2001 (0.567 sec) INFO:tensorflow:global_step/sec: 213.066 INFO:tensorflow:loss = 10.426752, step = 2101 (0.471 sec) INFO:tensorflow:global_step/sec: 220.975 INFO:tensorflow:loss = 10.594796, step = 2201 (0.452 sec) INFO:tensorflow:global_step/sec: 219.289 INFO:tensorflow:loss = 10.4212265, step = 2301 (0.456 sec) INFO:tensorflow:global_step/sec: 215.123 INFO:tensorflow:loss = 9.668612, step = 2401 (0.465 sec) INFO:tensorflow:global_step/sec: 175.65 INFO:tensorflow:loss = 10.009649, step = 2501 (0.569 sec) INFO:tensorflow:global_step/sec: 206.962 INFO:tensorflow:loss = 10.477722, step = 2601 (0.483 sec) INFO:tensorflow:global_step/sec: 229.627 INFO:tensorflow:loss = 9.877638, step = 2701 (0.435 sec) INFO:tensorflow:global_step/sec: 195.792 INFO:tensorflow:loss = 10.274586, step = 2801 (0.512 sec) INFO:tensorflow:global_step/sec: 176.803 INFO:tensorflow:loss = 10.061047, step = 2901 (0.566 sec) INFO:tensorflow:Saving checkpoints for 3000 into train/linreg/model.ckpt. INFO:tensorflow: Loss for the final step: 10.73032. 

Per utenti Windows

 cd C:UsersAdminAnaconda3 activate hello-tf 

Per avviare TensorBoard, possiamo utilizzare questo codice

 tensorboard --logdir=.	rainlinreg