Pregled TensorBoarda

TensorBoard je vizualizacijski okvir tensorflowa za razumevanje in pregled pretoka algoritma strojnega učenja.

Ocenjevanje modela strojnega učenja se lahko opravi z mnogimi metrikami, kot so izguba, natančnost, graf modela in še mnogo drugih. Uspešnost algoritma strojnega učenja je odvisna od izbire modela in hiperparametrov, ki jih napaja algoritem. Poskusi se izvajajo s spreminjanjem vrednosti teh parametrov.

Modeli učenja globokega učenja so kot črna škatla, težko je najti obdelavo, ki poteka znotraj nje. Pomembno je pridobiti vpogled za izdelavo modela. S pomočjo vizualizacije lahko veste, katere parametre spremenite za kakšen znesek, da dobite izboljšanje zmogljivosti modela. Torej je TensorBoard pomembno orodje za vizualizacijo vsake epohe v fazi treninga modela.

Namestitev

Če želite namestiti tensorboard s pomočjo pipa, zaženite naslednji ukaz:

pip install tensorboard

Lahko pa ga namestimo tudi z ukazom conda,

Conda install tensorboard

Uporaba

Uporaba napetostne plošče z modelom Keras:

Keras je knjižnica odprtega izvora za modele poglobljenega učenja. To je knjižnica na visoki ravni, ki jo je mogoče voditi na vrhu tensorflowa, theana itd.

Za namestitev knjižnice tensorflow in Keras s pomočjo pipa:

pip install tensorflow pip install Keras

Vzemimo preprost primer klasifikacije z uporabo podatkovnih zbirk MNIST. MNIST je angleški numerični nabor podatkov, ki vsebuje slike številk od 0 do 9. Na voljo je v knjižnici Keras.

  • Uvozite knjižnico tensorflow, saj bomo uporabljali Keras z zaledjem tensorflow.

import tensorflow as tf

  • Najprej naložite MNIST-ov nabor podatkov iz Kerasa v nabor podatkov in testiranja.

mnist = tf.keras.datasets.mnist

  • Zaporedni model je ustvarjen z uporabo,

tf.keras.models.Sequential

  • Za usposabljanje se uporablja model Model.fit (). Dnevnike je mogoče ustvariti in shraniti z uporabo,

tf.keras.callback.TensorBoard

  • Če želite omogočiti računalništvo na histogramu,

histogram_freq=1.

Privzeto je izklopljen.

Koda za zgoraj obravnavano klasifikacijo nabora podatkov MNIST je naslednja:

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

Če želite zagnati tensorboard na lokalnem strežniku, pojdite na mesto imenika, kjer je nameščen tensorflow, in zaženite naslednji ukaz:

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

  • Skalarji

Skalarji kažejo spremembe z vsako epoho. Zgornja slika prikazuje graf natančnosti in izgube po vsaki epohi. Epoch_acc in epoch_loss sta natančnost treninga in izguba treninga. Ker sta epoch_val_acc in epoch_val_loss točnost in izguba podatkov za preverjanje veljavnosti.

Svetlejše oranžne črte prikazujejo natančno natančnost ali izgubo, temnejše pa predstavlja zglajene vrednosti. Gladenje pomaga pri prikazu splošnega trenda v podatkih.

  • Grafikoni

Stran Graf vam pomaga vizualizirati graf vašega modela. Tako lahko preverite, ali je model pravilno zgrajen ali ne.

Za vizualizacijo grafa moramo ustvariti sejo in nato objekt TensorFLow FileWriter. Za ustvarjanje predmeta Writer moramo prehoditi pot, kjer je shranjen povzetek, in sess.graph kot argument.

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

tf.placeholder () in tf.Variable () se uporabljata za rezervirana mesta in spremenljivke v kodi tensorflow.

To prikazuje grafično vizualizacijo modela, ki smo ga zgradili. Vsi zaobljeni pravokotniki so imenski prostori. In ovali prikazujejo matematične operacije.

Konstante so prikazane kot majhni krogi. Za zmanjšanje nereda v grafikonu naredi tenz deska nekaj poenostavitev z uporabo pikčastih oval ali zaobljenih pravokotnikov s pikčastimi črtami. To so vozlišča, ki so povezana z mnogimi drugimi vozlišči ali vsemi vozlišči. Torej so na grafu shranjeni kot pikice, njihove podrobnosti pa lahko vidite v zgornjem desnem kotu. V zgornjem desnem kotu je predvidena povezava z nakloni, Gradient Spuščaji ali init vozlišča.

Če želite vedeti število tenzorjev, ki gredo znotraj in izhajajo iz vsakega vozlišča, lahko vidite robove na grafu. Robovi grafa opisujejo število tenzorjev, ki tečejo v grafu. To pomaga pri prepoznavanju vhodnih in izhodnih dimenzij iz vsakega vozlišča. To pomaga pri odpravljanju težav s katero koli težavo.

  • Porazdelitve in histogrami

To prikazuje porazdelitev tenzorja s časom, prav tako pa lahko vidimo uteži in pristranskosti. To prikazuje napredek vhodov in izhodov skozi čas za vsako epoho. Obstajata dve možnosti ogleda:

Poravnava in prekrivanje.

Pogled odmika histogramov bo naslednji:

Pogled prekrivanja histograma je:

Stran Distribucija prikazuje statistične porazdelitve. Graf prikazuje povprečna in standardna odstopanja.

Prednosti

  • TensorBoard pomaga pri vizualizaciji učenja s pisanjem povzetkov modela, kot so skalarji, histogrami ali slike. To pa pomaga izboljšati natančnost modela in enostavno odpravljanje napak.
  • Globoka učna obdelava je stvar črne škatle, tensboard pa pomaga pri razumevanju obdelave, ki poteka v črnem polju s pomočjo grafov in histogramov.

Zaključek - TensorBoard

TensorBoards ponuja vizualizacijo za model globokega zaslužka, ki je usposobljen, in pomaga pri njihovem razumevanju. Uporablja se lahko z TensorFlow in Keras oba. V glavnem omogoča vizualizacijo vedenja skalarjev, metrik s pomočjo histogramov in vzorčnega grafikona kot celote.

Priporočeni članki

To je vodnik za TensorBoard. Tukaj razpravljamo o namestitvi in ​​uporabi Tensboard z uporabo Keras modela s prednostmi. Za več informacij si lahko ogledate tudi naslednje članke -

  1. Uvod v Tensorflow
  2. Kako namestiti TensorFlow
  3. Kaj je TensorFlow?
  4. TensorFlow igrišče
  5. Osnove Tensorflowa

Kategorija: