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 -
- Úvod do Tensorflow
- Jak nainstalovat TensorFlow
- Co je TensorFlow?
- Hřiště TensorFlow
- Základy Tensorflow