Prezentare generală a TensorBoard

TensorBoard este un cadru de vizualizare a tensiunii de flux pentru înțelegerea și inspectarea fluxului algoritmului de învățare a mașinilor.

Evaluarea modelului de învățare automată poate fi făcută de multe metrici, cum ar fi pierderea, precizia, graficul modelului și multe altele. Performanța algoritmului de învățare automată depinde de selecția modelului și de hiperparametrii alimentați în algoritm. Experimentele sunt efectuate prin modificarea valorilor acelor parametri.

Modelele de învățare profundă sunt la fel ca o cutie neagră, este dificil să găsești procesarea care are loc în interiorul ei. Este important să obțineți cunoștințe pentru a construi modelul. Cu ajutorul vizualizării, puteți ști ce parametri să modificați cu ce sumă pentru a obține îmbunătățirea performanței modelului. Deci TensorBoard este un instrument important pentru vizualizarea fiecărei epoci în faza de formare a modelului.

Instalare

Pentru a instala tabloul de tensiune folosind pip, executați următoarea comandă:

pip install tensorboard

Alternativ, poate fi instalat folosind comanda conda,

Conda install tensorboard

folosire

Folosind placa de tensionare cu modelul Keras:

Keras este o bibliotecă open-source pentru modele de învățare profundă. Este o bibliotecă la nivel înalt, care poate fi rulată pe partea de sus a tensorflow, theano etc.

Pentru a instala biblioteca de tensiune și Keras folosind pip:

pip install tensorflow pip install Keras

Să luăm un exemplu simplu de clasificare folosind setul de date MNIST. MNIST este un set de date numeric englez care conține imagini cu numere de la 0 la 9. Este disponibil cu biblioteca Keras.

  • Importați tensorflow-ul bibliotecii, deoarece vom folosi Keras cu tensiune de flux backend.

import tensorflow as tf

  • În primul rând, încărcați setul de date MNIST de la Keras în setul de date de formare și test.

mnist = tf.keras.datasets.mnist

  • Modelul secvențial este creat folosind,

tf.keras.models.Sequential

  • Pentru a antrena modelul este folosit Model.fit (). Jurnalele pot fi create și stocate folosind,

tf.keras.callback.TensorBoard

  • Pentru a activa calcularea histogramelor,

histogram_freq=1.

Este oprit implicit.

Codul pentru clasificarea de mai sus a setului de date MNIST este următorul:

# Simple NN to classify handwritten digits from MNIST dataset
import tensorflow as tf
import datetime
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data() x_train, x_test = x_train / 255.0, x_test / 255.0
def create_model(): return tf.keras.models.Sequential(( tf.keras.layers.Flatten(input_shape=(28, 28)), tf.keras.layers.Dense(512, activation='relu'), tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation='softmax')
))
model = create_model() model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=('accuracy'))
log_dir="logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1)
model.fit(x=x_train, y=y_train, epochs=5, validation_data=(x_test, y_test),
callbacks=(tensorboard_callback))

Pentru a porni tabloul de tensiune pe serverul local, mergeți la locația directorului unde este instalat tensorfluxul, apoi executați următoarea comandă:

tensorboard --logdir=/path/to/logs/files

  • scalari

Scalarsele se schimbă în fiecare epocă. Figura de mai sus arată graficul exactității și pierderii după fiecare epocă. Epoch_acc și epoch_loss reprezintă acuratețe și pierderi de instruire. Întrucât epoch_val_acc și epoch_val_loss reprezintă exactitatea și pierderea datelor de validare.

Liniile portocalii mai deschise prezintă precizie sau pierdere exactă, iar cea mai întunecată reprezintă valori netezite. Netezirea ajută la vizualizarea tendinței generale a datelor.

  • Grafice

Pagina Grafic vă ajută să vizualizați graficul modelului dvs. Acest lucru vă ajută să verificați dacă modelul este construit corect sau nu.

Pentru a vizualiza graficul, trebuie să creăm o sesiune și apoi obiectul TensorFLow FileWriter. Pentru a crea obiectul scriitor, trebuie să trecem de calea în care rezumatul este stocat și sess.graph ca argument.

writer = tf.summary.FileWriter(STORE_PATH, sess.graph)

tf.placeholder () și tf.Variable () sunt utilizate pentru marcatorii de plasă și pentru variabilele din codul de tensiune.

Aceasta arată vizualizarea grafică a modelului pe care l-am construit. Toate dreptunghiurile rotunjite sunt spații de nume. Și ovale arată operațiile matematice.

Constanțele sunt arătate ca cercuri mici. Pentru a reduce dezordinea în grafic, tabloul de tensiune face unele simplificări prin utilizarea ovalelor punctate sau dreptunghiurilor rotunjite cu linii punctate. Acestea sunt nodurile care sunt legate la multe alte noduri sau la toate nodurile. Deci sunt păstrate ca punctate în grafic și detaliile lor pot fi văzute în colțul din dreapta sus. În colțul din dreapta sus, este asigurată legătura cu gradienții, coborârea gradientului sau nodurile inițiale.

Pentru a cunoaște numărul de tensori care intră și ies din fiecare nod, puteți vedea marginile din grafic. Marginile graficului descriu numărul de tensori care curg în grafic. Acest lucru ajută la identificarea dimensiunilor de intrare și ieșire din fiecare nod. Acest lucru ajută la depanarea oricărei probleme.

  • Distribuții și Histograme

Acest lucru arată distribuțiile de tensiune cu timpul, de asemenea, putem vedea greutăți și prejudecăți. Aceasta arată progresul intrărilor și ieșirilor în timp pentru fiecare epocă. Există două opțiuni de vizualizare:

Offset și Suprapunere.

Vizualizarea offset a histogramelor va fi următoarea:

Vizualizarea Overlay a histogramei este:

Pagina Distribuție prezintă distribuțiile statistice. Graficul arată media și abaterile standard.

Beneficii

  • TensorBoard ajută la vizualizarea învățării scriind rezumate ale modelului, cum ar fi scalare, histograme sau imagini. La rândul său, acest lucru ajută la îmbunătățirea exactității modelului și la debugarea cu ușurință.
  • Procesarea procesului de învățare profundă este un lucru cu cutie neagră, iar tabloul de tensiune ajută la înțelegerea procesării care se desfășoară în cutia neagră cu ajutorul graficelor și histogramelor.

Concluzie - TensorBoard

TensorBoards oferă vizualizare pentru modelul de câștig profund care este instruit și ajută la înțelegerea lor. Poate fi folosit împreună cu TensorFlow și Keras. Acesta oferă în principal vizualizarea comportamentului scalarelor, metricilor cu ajutorul histogramelor și a modelului grafic în ansamblu.

Articole recomandate

Acesta este un ghid pentru TensorBoard. Aici vom discuta despre Instalarea și utilizarea tabloului de bord utilizând modelul Keras cu Beneficii. De asemenea, puteți arunca o privire la următoarele articole pentru a afla mai multe -

  1. Introducere în Tensorflow
  2. Cum se instalează TensorFlow
  3. Ce este TensorFlow?
  4. TensorFlow Playground
  5. Noțiuni de bază ale tensiunii fluxului

Categorie: