Pregled TensorBoarda

TensorBoard je okvir vizualizacije tensorflowa za razumijevanje i provjeru protoka algoritma strojnog učenja.

Procjena modela strojnog učenja može se izvršiti pomoću mnogih mjernih podataka kao što su gubitak, točnost, grafikon modela i još mnogo toga. Učinkovitost algoritma strojnog učenja ovisi o odabiru modela i hiperparametarima koji se hrane u algoritmu. Eksperimenti se izvode promjenom vrijednosti tih parametara.

Modeli dubokog učenja poput crne su kutije, teško je pronaći obradu koja se odvija unutar nje. Važno je dobiti uvid u izgradnju modela. Pomoću vizualizacije možete znati koje parametre izmijeniti po kojoj količini da biste poboljšali performanse modela. Dakle, TensorBoard je važan alat za vizualizaciju svake epohe tijekom faze treninga modela.

Montaža

Da biste instalirali tenzord sa pipom, pokrenite sljedeću naredbu:

pip install tensorboard

A može se instalirati i pomoću naredbe conda,

Conda install tensorboard

upotreba

Korištenje tenz ploče s modelom Keras:

Keras je knjižnica otvorenog koda za modele dubokog učenja. To je knjižnica na visokoj razini koja se može voditi na vrhu tensorflowa, theanoa itd.

Da biste instalirali knjižnicu tensorflow i Keras pomoću pip-a:

pip install tensorflow pip install Keras

Uzmimo jednostavan primjer klasifikacije pomoću baze podataka MNIST. MNIST je engleski numerički skup podataka koji sadrži slike brojeva od 0-9. Dostupan je u knjižnici Keras.

  • Uvezite biblioteku tensorflow jer ćemo koristiti Keras s povratnim tensorflowom.

import tensorflow as tf

  • Prvo učitajte MNIST-ov niz podataka iz Kerasa u skup podataka za obuku i testiranje.

mnist = tf.keras.datasets.mnist

  • Slijedni model kreiran je korištenjem,

tf.keras.models.Sequential

  • Za treniranje modela Model.fit () koristi se. Dnevnici se mogu kreirati i pohraniti pomoću

tf.keras.callback.TensorBoard

  • Da biste omogućili računanje histograma,

histogram_freq=1.

Isključeno je prema zadanim postavkama.

Kod za gore raspravljenu klasifikaciju skupa podataka MNIST je sljedeći:

# 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))

Da biste pokrenuli tensorboard na lokalnom poslužitelju, idite na mjesto direktorija na kojem je instaliran tensorflow, a zatim pokrenite sljedeću naredbu:

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

  • Scalars

Skaleri pokazuju promjenu sa svakom epohom. Gornja slika prikazuje grafikon točnosti i gubitka nakon svake epohe. Epoch_acc i epoch_loss su točnost treninga i gubitak treninga. Dok su epoch_val_acc i epoch_val_loss točnost i gubitak podataka za provjeru valjanosti.

Svjetlije narančaste linije pokazuju točnu ili gubitku, a tamnije predstavljaju izglađene vrijednosti. Zaglađivanje pomaže u vizualizaciji ukupnog trenda podataka.

  • grafovi

Stranica Grafikon pomaže vam da vizualizirate grafikon svog modela. Ovo vam pomaže da provjerite je li model pravilno izveden ili ne.

Da bismo vizualizirali graf, moramo kreirati sesiju i zatim TensorFLow FileWriter objekt. Da bismo stvorili objekt Writer, trebamo proći put gdje je sažetak sažetka i sess.graph kao argument.

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

tf.placeholder () i tf.Variable () koriste se za rezervirana mjesta i varijable u kôdu tensorflow.

To pokazuje grafičku vizualizaciju modela koji smo izgradili. Svi zaobljeni pravokutnici su prostori naziva. I ovali pokazuju matematičke operacije.

Konstante su prikazane kao mali krugovi. Da bi se smanjio nered na grafikonu, tensorboard radi pojedna pojednostavljenja koristeći isprekidane ovalne ili zaobljene pravokutnike s isprekidanim linijama. To su čvorovi koji su povezani s mnogim drugim čvorovima ili sa svim čvorovima. Tako se čuvaju kao točke na grafikonu, a njihovi detalji mogu se vidjeti u gornjem desnom kutu. U gornjem desnom kutu predviđena je veza s gradijentima, gradijentski usponi ili init čvorovi.

Da biste znali broj tenzora koji ulaze i izlaze iz svakog čvora, možete vidjeti rubove na grafu. Rubovi grafa opisuju broj tenzora koji teku u grafu. To pomaže u prepoznavanju ulaznih i izlaznih dimenzija iz svakog čvora. To pomaže u uklanjanju pogrešaka bilo kojeg problema.

  • Distribucije i histogrami

To pokazuje raspodjele tenzora s vremenom, kao što možemo vidjeti utege i pristranosti. To pokazuje napredak ulaza i izlaza tijekom vremena za svaku epohu. Postoje dvije mogućnosti pregleda:

Pomak i preklapanje.

Offset prikaz histograma bit će sljedeći:

Pogled prekrivača histograma je:

Stranica Distribucija prikazuje statističke raspodjele. Grafikon prikazuje srednju i standardnu ​​devijaciju.

Prednosti

  • TensorBoard pomaže u vizualizaciji učenja pisanjem sažetaka modela poput skalara, histograma ili slika. To zauzvrat pomaže poboljšati točnost modela i lako uklanjanje pogrešaka.
  • Duboka obrada učenja stvar je crne kutije, a tensorboard pomaže u razumijevanju obrade koja se odvija u crnoj kutiji uz pomoć grafikona i histograma.

Zaključak - TensorBoard

TensorBoards pruža vizualizaciju za model duboke zarade koji se obučava i pomaže u razumijevanju istih. Može se koristiti s TensorFlowom i Kerasom oboje. Uglavnom pruža vizualizaciju ponašanja skalara, mjernih podataka uz pomoć histograma i grafikona modela u cjelini.

Preporučeni članci

Ovo je vodič za TensorBoard. Ovdje smo razgovarali o ugradnji i korištenju Tensboard-a koristeći ga s Keras modelom s Prednosti. Možete također pogledati sljedeće članke da biste saznali više -

  1. Uvod u Tensorflow
  2. Kako instalirati TensorFlow
  3. Što je TensorFlow?
  4. Igralište TensorFlow
  5. Osnove Tensorflowa

Kategorija: