Oversigt over TensorBoard

TensorBoard er en visualiseringsramme for tensorflow til forståelse og inspektion af maskinlæringsalgoritmestrøm.

Evalueringen af ​​maskinindlæringsmodellen kan udføres af mange målinger såsom tab, nøjagtighed, modelgrafik og mange flere. Ydeevnen for maskinlæringsalgoritmen afhænger af modelvalg og hyperparametre, der indføres i algoritmen. Eksperimenter udføres ved at ændre værdierne for disse parametre.

Deep-læringsmodellerne er ligesom en sort kasse, det er vanskeligt at finde den behandling, der finder sted inde i den. Det er vigtigt at få indsigt for at opbygge modellen. Ved hjælp af visualisering kan du vide, hvilke parametre der skal ændres med hvilket beløb der skal forbedres i modelydelsen. Så TensorBoard er et vigtigt værktøj til at visualisere hver epoke i modeltræningsfasen.

Installation

For at installere tensorboard ved hjælp af pip skal du køre følgende kommando:

pip install tensorboard

Alternativt kan det installeres ved hjælp af conda-kommando,

Conda install tensorboard

Anvendelse

Brug af tensorboard med Keras-model:

Keras er et open source-bibliotek til modeller for dyb læring. Det er et bibliotek på højt niveau, der kan køres på toppen af ​​tensorflow, theano osv.

Sådan installeres tensorflow og Keras-biblioteket ved hjælp af pip:

pip install tensorflow pip install Keras

Lad os tage et simpelt eksempel på klassificering ved hjælp af MNIST-datasættet. MNIST er et engelsk numerisk datasæt, der indeholder billeder med tal fra 0-9. Det fås med Keras-biblioteket.

  • Importer bibliotekets tensorflow, da vi vil bruge Keras med tensorflow-backend.

import tensorflow as tf

  • Først indlæses MNIST-datasættet fra Keras i trænings- og testdatasæt.

mnist = tf.keras.datasets.mnist

  • Den sekventielle model oprettes ved hjælp af,

tf.keras.models.Sequential

  • For at træne modellen bruges Model.fit (). Logfiler kan oprettes og gemmes ved hjælp af,

tf.keras.callback.TensorBoard

  • For at aktivere histogramberegning,

histogram_freq=1.

Det er som standard slukket.

Koden til ovennævnte klassificering af MNIST datasæt er som følger:

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

For at starte tensorboard på den lokale server skal du gå til det bibliotekssted, hvor tensorflow er installeret, og derefter køre følgende kommando:

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

  • skalarer

Skaler viser ændringer med hver epoke. Ovenstående figur viser grafen for nøjagtighed og tab efter hver epoke. Epoch_acc og epoch_loss er træningsnøjagtighed og tab af træning. Mens epoch_val_acc og epoch_val_loss er nøjagtigheden og tabet af valideringsdata.

De lysere orange linjer viser nøjagtig nøjagtighed eller tab, og den mørke repræsenterer udjævne værdier. Udjævning hjælper med at visualisere den samlede tendens i dataene.

  • Grafer

Graftsiden hjælper dig med at visualisere grafen for din model. Dette hjælper dig med at kontrollere, om modellen er bygget korrekt eller ej.

For at visualisere grafen skal vi oprette en session og derefter TensorFLow FileWriter-objekt. For at oprette forfatterobjektet er vi nødt til at passere den sti, hvor resuméet er gemt og sess.graph som argumentet.

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

tf.placeholder () og tf.Variable () bruges til pladsholdere og variabler i tensorflowkoden.

Dette viser den grafiske visualisering af modellen, som vi har bygget. Alle afrundede rektangler er navneområder. Og ovaler viser de matematiske operationer.

Konstanter vises som små cirkler. For at reducere rod i grafen gør tensorboard nogle forenklinger ved at bruge prikkede ovaler eller afrundede rektangler med stiplede linjer. Dette er de noder, der er knyttet til mange andre noder eller alle noder. Så de holdes som stiplede i grafen, og deres detaljer kan ses i øverste højre hjørne. I øverste højre hjørne er der link til gradueringer, gradientafstigninger eller init-noder.

For at kende antallet af tensorer, der går ind og kommer ud af hver knude, kan du se kanterne i grafen. Grafkanterne beskriver antallet af tensorer, der flyder i grafen. Dette hjælper med at identificere input- og outputdimensionerne fra hver node. Dette hjælper med at fejlsøge ethvert problem.

  • Distributioner og histogrammer

Dette viser tensor-fordelingerne med tiden, og vi kan også se vægte og forspændinger. Dette viser fremgangen med input og output over tid for hver epoke. Der er to visningsmuligheder:

Offset og overlay.

Offsetvisningen af ​​histogrammer er som følger:

Oversigtsvisning af histogrammet er:

Distributionssiden viser de statistiske fordelinger. Grafen viser middel- og standardafvigelser.

Fordele

  • TensorBoard hjælper med at visualisere indlæringen ved at skrive resume af modellen som skalarer, histogrammer eller billeder. Dette hjælper igen til at forbedre modelnøjagtigheden og fejlsøge fejl.
  • Deep learning-behandling er en sort kasse-ting, og tensorboard hjælper med at forstå behandlingen, der finder sted i den sorte boks ved hjælp af grafer og histogrammer.

Konklusion - TensorBoard

TensorBoards giver visualisering af den dybtmodtagende model, der er trænet og hjælper med at forstå dem. Det kan bruges sammen med TensorFlow og Keras. Det giver hovedsageligt visualisering af skalarer, målinger ved hjælp af histogrammer og modelgraf som helhed.

Anbefalede artikler

Dette er en guide til TensorBoard. Her diskuterer vi installation og brug af Tensboard ved hjælp af den med Keras-modellen med fordele. Du kan også se på de følgende artikler for at lære mere -

  1. Introduktion til Tensorflow
  2. Sådan installeres TensorFlow
  3. Hvad er TensorFlow?
  4. TensorFlow Legeplads
  5. Grundlæggende om tensorflow

Kategori: