Prehľad TensorBoard

TensorBoard je vizualizačný rámec tensorflow na porozumenie a kontrolu toku algoritmu strojového učenia.

Vyhodnotenie modelu strojového učenia sa môže vykonať mnohými metrikami, ako sú strata, presnosť, graf modelu a mnoho ďalších. Výkon algoritmu strojového učenia závisí od výberu modelu a hyperparametrov napájaných algoritmom. Experimenty sa vykonávajú zmenou hodnôt týchto parametrov.

Modely výučby Deep sú rovnako ako čierna skrinka, je ťažké nájsť spracovanie, ktoré prebieha v nej. Je dôležité získať informácie o zostavení modelu. Pomocou vizualizácie môžete zistiť, ktoré parametre je potrebné upraviť o aké množstvo sa má vylepšiť výkon modelu. TensorBoard je teda dôležitým nástrojom na vizualizáciu každej epochy počas fázy prípravy modelu.

inštalácia

Ak chcete nainštalovať tenzorovú dosku pomocou pip, spustite nasledujúci príkaz:

pip install tensorboard

Inak môže byť nainštalovaný pomocou príkazu conda,

Conda install tensorboard

používanie

Použitie tenzorovej dosky s modelom Keras:

Keras je open-source knižnica pre hlboké učenie modelov. Je to knižnica vysokej úrovne, ktorú je možné prevádzkovať na vrchole tensorflow, theano atď.

Inštalácia knižnice tensorflow a Keras pomocou pip:

pip install tensorflow pip install Keras

Vezmime jednoduchý príklad klasifikácie pomocou súboru údajov MNIST. MNIST je anglický číselný súbor údajov, ktorý obsahuje obrázky čísel od 0 do 9. Je k dispozícii s knižnicou Keras.

  • Importujte knižnicu tensorflow, pretože budeme používať Keras s backendom tensorflow.

import tensorflow as tf

  • Najskôr nahrajte súbor údajov MNIST od spoločnosti Keras do súboru údajov o školeniach a testoch.

mnist = tf.keras.datasets.mnist

  • Sekvenčný model sa vytvára pomocou,

tf.keras.models.Sequential

  • Na tréning sa používa Model.fit (). Denníky je možné vytvárať a ukladať pomocou,

tf.keras.callback.TensorBoard

  • Ak chcete povoliť výpočty histogramu,

histogram_freq=1.

V predvolenom nastavení je vypnuté.

Kód pre vyššie diskutovanú klasifikáciu súboru údajov MNIST je nasledujúci:

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

Ak chcete spustiť tensorboard na lokálnom serveri, prejdite do adresára, kde je nainštalovaný tensorflow, a potom spustite nasledujúci príkaz:

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

  • skaláry

Scalars ukazuje zmenu s každou epochou. Vyššie uvedený obrázok ukazuje graf presnosti a straty po každej epoche. Epoch_acc a epoch_loss sú presnosť a strata tréningu. Zatiaľ čo epoch_val_acc a epoch_val_loss sú presnosť a strata validačných údajov.

Svetlejšie oranžové čiary vykazujú presnú presnosť alebo stratu a tmavšia predstavuje vyhladené hodnoty. Vyhladenie pomáha pri vizualizácii celkového trendu v údajoch.

  • grafy

Stránka Graf vám pomáha vizualizovať graf vášho modelu. To vám pomôže skontrolovať, či je model správne zostavený alebo nie.

Na vizualizáciu grafu je potrebné vytvoriť reláciu a potom objekt TensorFLow FileWriter. Ak chcete vytvoriť zapisovací objekt, musíme prejsť cestu, v ktorej je zhrnutie uložené, a argumentom sess.graph.

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

tf.placeholder () a tf.Variable () sa používa pre zástupné symboly a premenné v kóde tensorflow.

To ukazuje grafickú vizualizáciu modelu, ktorý sme vytvorili. Všetky zaoblené obdĺžniky sú menné priestory. A ovály ukazujú matematické operácie.

Konštanty sú zobrazené ako malé krúžky. Aby sa znížilo neporiadok v grafe, tenzorová doska robí niektoré zjednodušenia pomocou bodkovaných oválov alebo zaoblených obdĺžnikov s bodkovanými čiarami. Toto sú uzly, ktoré sú spojené s mnohými inými uzlami alebo so všetkými uzlami. Takže sú v grafe zobrazené bodkovane a ich podrobnosti sú zobrazené v pravom hornom rohu. V pravom hornom rohu sa nachádza prepojenie na prechody, klesajúce prechody alebo iniciačné uzly.

Ak chcete vedieť, koľko tenzorov ide dovnútra a vyjde z každého uzla, môžete vidieť hrany v grafe. Hrany grafu opisujú počet tenzorov tečúcich v grafe. Pomáha to pri identifikácii vstupných a výstupných dimenzií z každého uzla. Pomáha to pri ladení problémov.

  • Distribúcie a histogramy

Toto ukazuje rozdelenie tenzorov v čase a tiež vidíme závažia a predpätia. To ukazuje postup vstupov a výstupov v priebehu času pre každú epochu. Existujú dve možnosti zobrazenia:

Ofset a prekrytie.

Pohľad na histogramy bude nasledovný:

Zobrazenie histogramu s prekrytím je:

Stránka Distribúcia zobrazuje štatistické distribúcie. Graf ukazuje stredné a štandardné odchýlky.

výhody

  • TensorBoard pomáha pri vizualizácii učenia písaním súhrnov modelu, ako sú skaláre, histogramy alebo obrázky. To zasa pomáha zlepšovať presnosť modelu a ľahko ladiť.
  • Hlboké učenie je čierna skrinka a tenzorová doska pomáha porozumieť spracovaniu, ktoré prebieha v čiernej skrinke pomocou grafov a histogramov.

Záver - TensorBoard

TensorBoards poskytuje vizualizáciu pre model s hlbokými zárobkami, ktorý je vyškolený a pomáha im porozumieť. Môže sa použiť s oboma TensorFlow a Keras. Poskytuje predovšetkým vizualizáciu správania skalárov, metrík pomocou histogramov a modelového grafu ako celku.

Odporúčané články

Toto je príručka pre TensorBoard. Tu diskutujeme o inštalácii a použití tabule Tensboard pomocou modelu Keras s výhodami. Ďalšie informácie nájdete aj v nasledujúcich článkoch -

  1. Úvod do Tensorflow
  2. Ako nainštalovať TensorFlow
  3. Čo je TensorFlow?
  4. Detské ihrisko TensorFlow
  5. Základy Tensorflow

Kategórie: