Översikt av TensorBoard

TensorBoard är ett visualiseringsram för tensorflöde för att förstå och inspektera maskininlärningsalgoritmflöde.

Utvärderingen av maskininlärningsmodellen kan göras av många mätvärden som förlust, noggrannhet, modellgrafik och många fler. Prestandan för maskininlärningsalgoritmen beror på modellval och hyperparametrar som matas in i algoritmen. Experiment utförs genom att ändra värdena på dessa parametrar.

De djupa inlärningsmodellerna är precis som en svart låda, det är svårt att hitta behandlingen som sker inom den. Det är viktigt att få insikt för att bygga modellen. Med hjälp av visualisering kan du veta vilka parametrar du ska ändra med vilket belopp som ska förbättras i modellprestanda. Så TensorBoard är ett viktigt verktyg för att visualisera varje epok under modellutbildningsfasen.

Installation

För att installera tensorboard med pip, kör följande kommando:

pip install tensorboard

Alternativt kan det installeras med conda-kommando,

Conda install tensorboard

Användande

Använda tennbräda med Keras-modell:

Keras är ett öppen källkodsbibliotek för modeller för djup inlärning. Det är ett bibliotek på hög nivå som kan köras på toppen av tensorflow, theano, etc.

För att installera tensorflow och Keras-biblioteket med pip:

pip install tensorflow pip install Keras

Låt oss ta ett enkelt exempel på klassificering med MNIST-datasättet. MNIST är ett engelskt numeriskt dataset som innehåller bilder med siffror från 0-9. Det finns med Keras-biblioteket.

  • Importera bibliotekets tensorflow eftersom vi kommer att använda Keras med tensorflow backend.

import tensorflow as tf

  • Ladda först MNIST-datasättet från Keras i tränings- och testdataset.

mnist = tf.keras.datasets.mnist

  • Sekvensmodellen skapas med hjälp av,

tf.keras.models.Sequential

  • För att träna modellen används Model.fit (). Loggar kan skapas och lagras med,

tf.keras.callback.TensorBoard

  • För att aktivera histogramberäkning,

histogram_freq=1.

Det är som standard av.

Koden för ovan diskuterad klassificering av MNIST-datasätt är följande:

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

För att starta tensorboard på den lokala servern, gå till katalogplatsen där tensorflow är installerat och kör sedan följande kommando:

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

  • skalärer

Scalars visar förändring med varje epok. Figuren ovan visar grafen för noggrannhet och förlust efter varje epok. Epoch_acc och epoch_loss är träningsnoggrannhet och träningsförlust. Medan epoch_val_acc och epoch_val_loss är noggrannheten och förlusten av valideringsdata.

De ljusare orange linjerna visar exakt noggrannhet eller förlust och den mörkare representerar utjämnade värden. Utjämning hjälper till att visualisera den övergripande trenden i data.

  • grafer

Graftsidan hjälper dig att visualisera grafen för din modell. Detta hjälper dig att kontrollera om modellen är korrekt byggd eller inte.

För att visualisera grafen måste vi skapa en session och sedan TensorFLow FileWriter-objekt. För att skapa författarobjektet måste vi passera sökvägen där sammanfattningen lagras och sess.graf som argumentet.

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

tf.placeholder () och tf.Variable () används för platshållare och variabler i tensorflowkoden.

Detta visar den grafiska visualiseringen av modellen som vi har byggt. Alla rundade rektanglar är namnutrymmen. Och ovaler visar de matematiska operationerna.

Konstanter visas som små cirklar. För att minska röran i diagrammet gör tensorboard vissa förenklingar genom att använda prickade ovaler eller rundade rektanglar med prickade linjer. Dessa är de noder som är länkade till många andra noder eller alla noderna. Så de hålls som prickade i diagrammet och deras detaljer kan ses i det övre högra hörnet. I det övre högra hörnet finns koppling till lutningar, stigningsnedgångar eller init-noder.

Om du vill veta antalet tensorer som går in och kommer ut från varje nod kan du se kanterna i diagrammet. Diagrammets kanter beskriver antalet tensorer som flyter i diagrammet. Detta hjälper dig att identifiera ingångs- och utgångsdimensionerna från varje nod. Detta hjälper dig att felsöka alla problem.

  • Distributioner och histogram

Detta visar spänningsfördelningarna med tiden och vi kan också se vikter och förspänningar. Detta visar framstegen för input och output över tid för varje epok. Det finns två visningsalternativ:

Offset och Overlay.

Offsetvyn för histogram kommer att vara följande:

Översiktsvyen av histogrammet är:

Distributionssidan visar statistiska fördelningar. Grafen visar medel- och standardavvikelser.

fördelar

  • TensorBoard hjälper till med att visualisera inlärningen genom att skriva sammanfattningar av modellen som skalarer, histogram eller bilder. Detta bidrar i sin tur till att förbättra modellens noggrannhet och felsöka lätt.
  • Djupt inlärningsbearbetning är en svartbox-sak och tensorboard hjälper dig att förstå behandlingen som sker i den svarta rutan med hjälp av grafer och histogram.

Slutsats - TensorBoard

TensorBoards tillhandahåller visualisering för den djupförtjänta modellen som är utbildad och hjälper till att förstå dem. Det kan användas tillsammans med TensorFlow och Keras båda. Det ger främst visualisering av beteenden hos skalor, mätvärden med hjälp av histogram och modellgraf som helhet.

Rekommenderade artiklar

Detta är en guide till TensorBoard. Här diskuterar vi installation och användning av Tensboard med hjälp av Keras-modellen med fördelar. Du kan också titta på följande artiklar för att lära dig mer -

  1. Introduktion till Tensorflow
  2. Hur man installerar TensorFlow
  3. Vad är TensorFlow?
  4. TensorFlow Playground
  5. Tensorflow Basics

Kategori: