Přehled TensorBoard

TensorBoard je vizualizační rámec tensorflow pro porozumění a kontrolu toku algoritmu strojového učení.

Vyhodnocení modelu strojového učení může být provedeno mnoha metrikami, jako je ztráta, přesnost, graf modelu a mnoho dalších. Výkon algoritmu strojového učení závisí na výběru modelu a hyperparametrech napájených do algoritmu. Experimenty se provádějí změnou hodnot těchto parametrů.

Modely učení Deep jsou stejně jako černá skříňka, je obtížné najít uvnitř ní zpracování. Je důležité získat informace o sestavení modelu. S pomocí vizualizace můžete vědět, jaké parametry je třeba upravit, o kolik se má vylepšit výkon modelu. TensorBoard je tedy důležitým nástrojem pro vizualizaci každé epochy během fáze tréninku modelu.

Instalace

Chcete-li nainstalovat tensorboard pomocí pip, spusťte následující příkaz:

pip install tensorboard

Alternativně jej lze nainstalovat pomocí příkazu conda,

Conda install tensorboard

Používání

Použití tensorboardu s modelem Keras:

Keras je open-source knihovna pro hluboké učení modelů. Jedná se o knihovnu na vysoké úrovni, kterou lze provozovat na vrcholu tensorflow, theano atd.

Chcete-li nainstalovat knihovnu tensorflow a Keras pomocí pip:

pip install tensorflow pip install Keras

Vezměme si jednoduchý příklad klasifikace pomocí datového souboru MNIST. MNIST je anglický číselný dataset, který obsahuje obrázky čísel 0-9. Je k dispozici s knihovnou Keras.

  • Importujte knihovnu tensorflow, protože budeme používat Keras s backendem tensorflow.

import tensorflow as tf

  • Nejprve načtěte datový soubor MNIST z Kerasu do datového souboru školení a testování.

mnist = tf.keras.datasets.mnist

  • Sekvenční model je vytvořen pomocí,

tf.keras.models.Sequential

  • Pro trénink se používá model Model.fit (). Protokoly lze vytvářet a ukládat pomocí,

tf.keras.callback.TensorBoard

  • Chcete-li povolit výpočet histogramu,

histogram_freq=1.

Ve výchozím nastavení je vypnuto.

Kód výše diskutované klasifikace datového souboru MNIST je následující:

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

Chcete-li spustit tensorboard na místním serveru, přejděte do adresáře, kde je nainstalován tensorflow, a poté spusťte následující příkaz:

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

  • Skaláry

Skaláry ukazují změnu s každou epochou. Výše uvedený obrázek ukazuje graf přesnosti a ztráty po každé epochě. Epoch_acc a epoch_loss jsou přesnost a ztráta tréninku. Zatímco epoch_val_acc a epoch_val_loss jsou přesnost a ztráta validačních dat.

Světlejší oranžové čáry vykazují přesnou přesnost nebo ztrátu a tmavší představují vyhlazené hodnoty. Vyhlazení pomáhá při vizualizaci celkového trendu v datech.

  • Grafy

Stránka Graf vám pomáhá vizualizovat graf vašeho modelu. To vám pomůže zkontrolovat, zda je model sestaven správně nebo ne.

K vizualizaci grafu musíme vytvořit relaci a poté objekt TensorFLow FileWriter. Chcete-li vytvořit objekt spisovatele, musíme předat cestu, kde je souhrn uložen, a sess.graph jako argument.

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

tf.placeholder () a tf.Variable () se používá pro zástupné symboly a proměnné v kódu tensorflow.

To ukazuje grafickou vizualizaci modelu, který jsme vytvořili. Všechny zaoblené obdélníky jsou jmenné prostory. A ovály ukazují matematické operace.

Konstanty jsou zobrazeny jako malé kruhy. Aby se snížil nepořádek v grafu, tenzorová deska provádí některá zjednodušení pomocí tečkovaných oválů nebo zaoblených obdélníků s tečkovanými čarami. Jedná se o uzly, které jsou propojeny s mnoha dalšími uzly nebo se všemi uzly. Jsou tedy v grafu zobrazeny jako tečkované a jejich detaily jsou vidět v pravém horním rohu. V pravém horním rohu je uvedena vazba na přechody, přechody na přechody nebo iniciační uzly.

Chcete-li znát počet tenzorů přicházejících dovnitř a vycházejících z každého uzlu, můžete vidět hrany v grafu. Hrany grafu popisují počet tenzorů proudících v grafu. To pomáhá při identifikaci vstupních a výstupních dimenzí z každého uzlu. To pomáhá při ladění jakéhokoli problému.

  • Distribuce a histogramy

To ukazuje rozdělení tenzoru s časem a také vidíme závaží a zkreslení. To ukazuje průběh vstupů a výstupů v čase pro každou epochu. Existují dvě možnosti zobrazení:

Offset a overlay.

Pohledy na histogramy budou následující:

Pohled na histogram překrytí je:

Stránka Distribuce zobrazuje statistické distribuce. Graf ukazuje střední a standardní odchylky.

Výhody

  • TensorBoard pomáhá při vizualizaci učení psaním shrnutí modelu, jako jsou skaláry, histogramy nebo obrázky. To zase pomáhá zlepšit přesnost modelu a snadno ladit.
  • Hluboké učení zpracování je věc černé skříňky a tenzorová deska pomáhá pochopit zpracování probíhající v černé skříňce pomocí grafů a histogramů.

Závěr - TensorBoard

TensorBoards poskytuje vizualizaci pro model výdělku s hlubokými výdělky, který pomáhá s jejich porozuměním. Může být použit s oběma TensorFlow a Keras. Poskytuje hlavně vizualizaci chování skalárů, metrik pomocí histogramů a modelového grafu jako celku.

Doporučené články

Toto je průvodce TensorBoard. Zde diskutujeme o instalaci a použití tensboardu pomocí modelu Keras s výhodami. Další informace naleznete také v následujících článcích -

  1. Úvod do Tensorflow
  2. Jak nainstalovat TensorFlow
  3. Co je TensorFlow?
  4. Hřiště TensorFlow
  5. Základy Tensorflow

Kategorie: