TensorBoard im Überblick

TensorBoard ist ein Visualisierungsframework für Tensorflow zum Verstehen und Überprüfen des Algorithmusflusses für maschinelles Lernen.

Die Bewertung des maschinellen Lernmodells kann anhand vieler Metriken wie Verlust, Genauigkeit, Modellgraph und vielem mehr erfolgen. Die Leistung des Algorithmus für maschinelles Lernen hängt von der Modellauswahl und den in den Algorithmus eingegebenen Hyperparametern ab. Experimente werden durchgeführt, indem die Werte dieser Parameter geändert werden.

Die Deep-Learning-Modelle sind wie eine Black Box. Es ist schwierig, die Verarbeitung darin zu finden. Es ist wichtig, einen Einblick zu erhalten, um das Modell zu erstellen. Mithilfe der Visualisierung können Sie ermitteln, welche Parameter in welchem ​​Umfang geändert werden müssen, um die Modellleistung zu verbessern. TensorBoard ist daher ein wichtiges Werkzeug, um jede Epoche während der Modellschulungsphase zu visualisieren.

Installation

Führen Sie den folgenden Befehl aus, um das Tensorboard mit pip zu installieren:

pip install tensorboard

Alternativ kann es mit dem Befehl conda installiert werden.

Conda install tensorboard

Verwendung

Tensorboard mit Keras-Modell verwenden:

Keras ist eine Open-Source-Bibliothek für Deep-Learning-Modelle. Es ist eine Bibliothek auf hoher Ebene, die auf Tensorflow, Theano usw. ausgeführt werden kann.

So installieren Sie die Tensorflow- und Keras-Bibliothek mit pip:

pip install tensorflow pip install Keras

Nehmen wir ein einfaches Beispiel für die Klassifizierung anhand des MNIST-Datensatzes. MNIST ist ein englischer numerischer Datensatz, der Bilder mit Zahlen von 0 bis 9 enthält. Es ist in der Keras-Bibliothek verfügbar.

  • Importieren Sie die Bibliothek tensorflow, da Keras mit tensorflow-Backend verwendet wird.

import tensorflow as tf

  • Laden Sie zuerst den MNIST-Datensatz von Keras in den Trainings- und Testdatensatz.

mnist = tf.keras.datasets.mnist

  • Das sequentielle Modell wird erstellt mit

tf.keras.models.Sequential

  • Zum Trainieren des Modells wird Model.fit () verwendet. Protokolle können erstellt und gespeichert werden mit,

tf.keras.callback.TensorBoard

  • Um die Histogrammberechnung zu aktivieren,

histogram_freq=1.

Es ist standardmäßig deaktiviert.

Der Code für die oben diskutierte Klassifizierung des MNIST-Datensatzes lautet wie folgt:

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

Um das Tensorboard auf dem lokalen Server zu starten, navigieren Sie zum Verzeichnis, in dem Tensorflow installiert ist, und führen Sie den folgenden Befehl aus:

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

  • Skalare

Skalare verändern sich mit jeder Epoche. Die obige Abbildung zeigt das Diagramm der Genauigkeit und des Verlusts nach jeder Epoche. Epoch_acc und epoch_loss sind Trainingsgenauigkeit und Trainingsverlust. Während epoch_val_acc und epoch_val_loss die Genauigkeit und den Verlust von Validierungsdaten darstellen.

Die helleren orangefarbenen Linien zeigen die genaue Genauigkeit oder den Verlust an, und die dunkleren Linien stehen für geglättete Werte. Das Glätten hilft bei der Visualisierung des Gesamttrends in den Daten.

  • Diagramme

Auf der Seite "Diagramm" können Sie das Diagramm Ihres Modells visualisieren. Auf diese Weise können Sie überprüfen, ob das Modell korrekt erstellt wurde oder nicht.

Um das Diagramm zu visualisieren, müssen wir eine Sitzung und dann ein TensorFLow FileWriter-Objekt erstellen. Um das Writer-Objekt zu erstellen, müssen Sie den Pfad übergeben, in dem die Zusammenfassung gespeichert ist, und sess.graph als Argument angeben.

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

tf.placeholder () und tf.Variable () werden für Platzhalter und Variablen im Tensorflow-Code verwendet.

Dies zeigt die grafische Darstellung des von uns erstellten Modells. Alle abgerundeten Rechtecke sind Namensräume. Und Ovale zeigen die mathematischen Operationen.

Konstanten werden als kleine Kreise angezeigt. Um die Unordnung in der Grafik zu verringern, führt Tensorboard einige Vereinfachungen durch, indem punktierte Ovale oder abgerundete Rechtecke mit gepunkteten Linien verwendet werden. Dies sind die Knoten, die mit vielen anderen Knoten oder allen Knoten verknüpft sind. Sie bleiben also wie in der Grafik gepunktet und ihre Details sind in der oberen rechten Ecke zu sehen. In der oberen rechten Ecke wird die Verknüpfung zu Verläufen, Verlaufsabfahrten oder Anfangsknoten bereitgestellt.

Um die Anzahl der Tensoren zu ermitteln, die von jedem Knoten ein- und ausgehen, sehen Sie die Kanten im Diagramm. Die Diagrammkanten beschreiben die Anzahl der im Diagramm fließenden Tensoren. Dies hilft beim Identifizieren der Eingabe- und Ausgabedimensionen von jedem Knoten. Dies hilft beim Debuggen von Problemen.

  • Verteilungen und Histogramme

Dies zeigt die Tensorverteilungen mit der Zeit und wir können Gewichte und Vorspannungen sehen. Dies zeigt den zeitlichen Verlauf der Ein- und Ausgänge für jede Epoche. Es gibt zwei Anzeigeoptionen:

Versatz und Überlagerung.

Die Versatzansicht von Histogrammen sieht wie folgt aus:

Die Überlagerungsansicht des Histogramms ist:

Die Verteilungsseite zeigt die statistischen Verteilungen. Die Grafik zeigt den Mittelwert und die Standardabweichung.

Leistungen

  • Das TensorBoard hilft bei der Visualisierung des Lernens, indem Zusammenfassungen des Modells wie Skalare, Histogramme oder Bilder geschrieben werden. Dies trägt wiederum dazu bei, die Modellgenauigkeit zu verbessern und das Debugging zu vereinfachen.
  • Deep Learning Processing ist eine Black-Box-Sache, und Tensorboard hilft dabei, die in der Black-Box stattfindende Verarbeitung mithilfe von Grafiken und Histogrammen zu verstehen.

Fazit - TensorBoard

TensorBoards bietet eine Visualisierung für das trainierte Tiefverdienungsmodell und hilft beim Verständnis. Es kann sowohl mit TensorFlow als auch mit Keras verwendet werden. Es dient hauptsächlich zur Visualisierung des Verhaltens von Skalaren und Metriken mit Hilfe von Histogrammen und Modellgraphen als Ganzes.

Empfohlene Artikel

Dies ist eine Anleitung zu TensorBoard. Hier diskutieren wir die Installation und Verwendung von Tensboard mit dem Keras-Modell mit Vorteilen. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -

  1. Einführung in Tensorflow
  2. So installieren Sie TensorFlow
  3. Was ist TensorFlow?
  4. TensorFlow Spielplatz
  5. Tensorflow-Grundlagen

Kategorie: