logo

TensorBoard

TensorFlow ist ein Visualisierungstool, das TensorBoard genannt wird. Es wird zur Analyse des Datenflussdiagramms und zum Verständnis von Modellen für maschinelles Lernen verwendet. TensorBoard ist die Schnittstelle zur Visualisierung des Diagramms und zahlreicher Tools zum Verstehen, Debuggen und Optimieren des Modells.

Das wichtige Merkmal von TensorBoard besteht darin, dass es eine Ansicht verschiedener Arten von Statistiken zu den Parametern und Details jedes Diagramms in vertikaler Ausrichtung enthält.

Algebra der Mengen

Das tiefe neuronale Netzwerk umfasst bis zu 36.000 Knoten. TensorFlow hilft dabei, diese Knoten in Blöcken auf hoher Ebene zusammenzufassen und die identischen Strukturen hervorzuheben. Dies ermöglicht eine bessere Analyse des Diagramms und konzentriert sich auf die Hauptabschnitte des Berechnungsdiagramms.

TensorBoard

Die TensorBoard-Visualisierung soll sehr interaktiv sein, da ein Benutzer die Knoten schwenken, zoomen und erweitern kann, um die Details anzuzeigen.

Die folgende Diagrammdarstellung zeigt die vollständige Funktionsweise der TensorBoard-Visualisierung:

TensorBoard

Die Algorithmen reduzieren die Knoten in Blöcke hoher Ebene und markieren die spezifischen Gruppen mit identischen Strukturen, die die Knoten hoher Ebene trennen. Das erstellte TensorBoard ist nützlich und wird für die Optimierung eines maschinellen Lernmodells als ebenso wichtig angesehen. Dieses Visualisierungstool ist für die Konfigurationsprotokolldatei konzipiert.

Schauen Sie sich das Bild unten an:

TensorBoard

Ein neuronales Netzwerk entscheidet, wie die verschiedenen Elemente miteinander verbunden werden. Neuronen ' und wie viele Schichten, bevor das Modell das Ergebnis vorhersagen kann. Sobald wir die Architektur definiert haben, müssen wir nicht nur das Modell trainieren, sondern auch Metriken, um die Genauigkeit der Vorhersage zu berechnen. Diese Metrik wird als Verlustfunktion bezeichnet. Das Ziel ist eine Verlustfunktion.

TensorBoard ist ein großartiges Tool zur Visualisierung von Metriken und zur Hervorhebung potenzieller Probleme. Es kann Stunden bis Wochen dauern, bis das neuronale Netzwerk eine Lösung findet. TensorBoard aktualisiert die Parameter sehr oft.

TensorBoard befindet sich unter dieser URL: http://localhost:6006

Arten von DashBoards in TensorBoard

TensorBoard

1. Skalares Dashboard

Es dient zur Visualisierung zeitabhängiger Statistiken; Beispielsweise möchten wir uns möglicherweise die Variationen der Lernrate oder der Verlustfunktion ansehen.

2. Histogramm

Das Histogramm-Dashboard in TensorBoard zeigt an, wie sich die statistische Verteilung eines Tensors im Laufe der Zeit verändert hat. Es visualisiert über aufgezeichnete Daten tf.summary.histogram .

C-Programmierung einschließen

3. Verteilungs-Dashboard

Es zeigt eine Verwendung von auf hohem Niveau tf.summary.histogram . Es zeigt einige High-Level-Starts einer Distribution. Jede Linie im Diagramm gibt einen Hinweis auf das Perzentil der Verteilung über die Daten.

4. Bild-Dashboard

Dies zeigt das PNG, das über a gespeichert wurde tf.summary.image . Zeilen entsprechen den Beschriftungen und Spalten dem Lauf. Mithilfe dieses Bild-Dashboards von TensorBoard können wir benutzerdefinierte Visualisierungen einbetten.

5. Audio-Dashboard

Es ist ein hervorragendes Tool zum Einbetten abspielbarer Audio-Widgets für über a gespeicherte Audios tf.summary.audio . Das Dashboard bettet immer die neuesten Audiodaten für jedes Tag ein.

6. Diagramm-Explorer

Es dient hauptsächlich dazu, die Inspektion des TensorFlow-Modells zu ermöglichen.

7. Projektor

Der Einbettungsprojektor in TensorFlow wird für mehrdimensionale Daten verwendet. Der Einbettungsprojektor liest Daten aus der Checkpoint-Datei und kann mit entsprechenden Daten, beispielsweise einer Vokabeldatei, eingerichtet werden.

8. Text-Dashboard

Das Text-Dashboard zeigt Textexperten an, die über gespeichert wurden tf.summary.text. , enthält Funktionen wie Hyperlinks, Listen und Tabellen und wird alle unterstützt.

TensorBoard

Verschiedene Ansichten von TensorBoard

Unterschiedliche Ansichten nehmen Eingaben unterschiedlicher Formate auf und zeigen sie unterschiedlich an. Wir können sie in der orangefarbenen oberen Leiste ändern.

    Skalare-Visualisieren Sie Skalarwerte, beispielsweise die Klassifizierungsgenauigkeit.Graph-Visualisieren Sie den Rechengraphen unseres Modells, wie das neuronale Netzwerkmodell.Verteilungen-Visualisieren Sie, wie sich Daten im Laufe der Zeit ändern, beispielsweise die Gewichte eines neuronalen Netzwerks.Histogramme-Eine ausgefallenere Ansicht der Verteilung, die eine Verteilung zeigt, die Verteilungen in einer dreidimensionalen Perspektive zeigt.Beamer-Es kann zur Visualisierung von Worteinbettungen verwendet werden (d. h. Worteinbettungen sind numerische Darstellungen von Wörtern, die ihre semantischen Beziehungen erfassen).Bild-Bilddaten visualisierenAudio-Audiodaten visualisierenText-Textdaten visualisieren

Wie verwende ich TensorBoard?

Wir erfahren, wie man TensorBoard über das Terminal für MacOS und Befehlszeilen-Windows öffnet.

Hashmap in Java

Der Code wird in einem zukünftigen Tutorial erklärt; Der Fokus liegt hier auf TensorBoard.

Zuerst müssen wir die Bibliotheken importieren, die wir während des Trainings verwenden werden.

 ## Import the library import tensorflow as tf import numpy as np 

Wir erstellen die Daten. Es ist ein Array mit 10.000 Zeilen und Spalten/p>

 X_train = (np.random.sample((10000,5))) y_train = (np.random.sample((10000,1))) X_train.shape 

Der folgende Code transformiert die Daten und erstellt das Modell.

Beachten Sie, dass die Lernrate 0,1 beträgt. Wenn wir diese Rate auf einen höheren Wert ändern, findet das Modell keine Lösung. Dies geschah auf der linken Seite des obigen Bildes.

Im folgenden Beispiel speichern wir das Modell im Arbeitsverzeichnis, d. h. dort, wo wir die Notebook- oder Python-Datei speichern. Innerhalb des Pfads erstellt TensorFlow einen Ordner namens train mit einem untergeordneten Ordner namens linreg.

 feature_columns = [ tf.feature_column.numeric_column('x', shape=X_train.shape[1:])] DNN_reg = tf.estimator.DNNRegressor(feature_columns=feature_columns, # Indicate where to store the log file model_dir='train', hidden_units=[500, 300], optimizer=tf.train.ProximalAdagradOptimizer( learning_rate=0.1, l1_regularization_strength=0.001 ) ) 

Ausgabe:

 INFO:tensorflow:Using the default configuration. INFO:tensorflow:Using config:{'_model_dir': 'train/linreg', '_tf_random_seed': None, '_save_summary_steps': 100, '_save_checkpoints_steps': None, '_save_checkpoints_secs': 600, '_session_config': None, '_keep_checkpoint_max': 5, '_keep_checkpoint_every_n_hours': 10000, '_log_step_count_steps': 100, '_train_distribute': None, '_service': None, '_cluster_spec': , '_task_type': 'worker', '_task_id': 0, '_global_id_in_cluster': 0, '_master': '', '_evaluation_master': '', '_is_chief': True, '_num_ps_replicas': 0, '_num_worker_replicas': 1} 

Der letzte Schritt besteht darin, das Modell zu trainieren. Während des Trainingszeitraums schreibt TensorFlow Informationen in das Modellverzeichnis.

 # Train the estimator train_input = tf.estimator.inputs.numpy_input_fn( x={'x': X_train}, y=y_train, shuffle=False,num_epochs=None) DNN_reg.train(train_input,steps=3000) 

Ausgabe:

 INFO:tensorflow:Calling model_fn. INFO:tensorflow:Done calling model_fn. INFO:tensorflow:Create CheckpointSaverHook. INFO:tensorflow: Graph was finalized. INFO:tensorflow:Running local_init_op. INFO:tensorflow:Done running local_init_op. INFO:tensorflow:Saving checkpoints for 1 into train/linreg/model.ckpt. INFO:tensorflow:loss = 40.060104, step = 1 INFO:tensorflow:global_step/sec: 197.061 INFO:tensorflow:loss = 10.62989, step = 101 (0.508 sec) INFO:tensorflow:global_step/sec: 172.487 INFO:tensorflow:loss = 11.255318, step = 201 (0.584 sec) INFO:tensorflow:global_step/sec: 193.295 INFO:tensorflow:loss = 10.604872, step = 301 (0.513 sec) INFO:tensorflow:global_step/sec: 175.378 INFO:tensorflow:loss = 10.090343, step = 401 (0.572 sec) INFO:tensorflow:global_step/sec: 209.737 INFO:tensorflow:loss = 10.057928, step = 501 (0.476 sec) INFO:tensorflow:global_step/sec: 171.646 INFO:tensorflow:loss = 10.460144, step = 601 (0.583 sec) INFO:tensorflow:global_step/sec: 192.269 INFO:tensorflow:loss = 10.529617, step = 701 (0.519 sec) INFO:tensorflow:global_step/sec: 198.264 INFO:tensorflow:loss = 9.100082, step = 801 (0.504 sec) INFO:tensorflow:global_step/sec: 226.842 INFO:tensorflow:loss = 10.485607, step = 901 (0.441 sec) INFO:tensorflow:global_step/sec: 152.929 INFO:tensorflow:loss = 10.052481, step = 1001 (0.655 sec) INFO:tensorflow:global_step/sec: 166.745 INFO:tensorflow:loss = 11.320213, step = 1101 (0.600 sec) INFO:tensorflow:global_step/sec: 161.854 INFO:tensorflow:loss = 9.603306, step = 1201 (0.619 sec) INFO:tensorflow:global_step/sec: 179.074 INFO:tensorflow:loss = 11.110269, step = 1301 (0.556 sec) INFO:tensorflow:global_step/sec: 202.776 INFO:tensorflow:loss = 11.929443, step = 1401 (0.494 sec) INFO:tensorflow:global_step/sec: 144.161 INFO:tensorflow:loss = 11.951693, step = 1501 (0.694 sec) INFO:tensorflow:global_step/sec: 154.144 INFO:tensorflow:loss = 8.620987, step = 1601 (0.649 sec) INFO:tensorflow:global_step/sec: 151.094 INFO:tensorflow:loss = 10.666125, step = 1701 (0.663 sec) INFO:tensorflow:global_step/sec: 193.644 INFO:tensorflow:loss = 11.0349865, step = 1801 (0.516 sec) INFO:tensorflow:global_step/sec: 189.707 INFO:tensorflow:loss = 9.860596, step = 1901 (0.526 sec) INFO:tensorflow:global_step/sec: 176.423 INFO:tensorflow:loss = 10.695, step = 2001 (0.567 sec) INFO:tensorflow:global_step/sec: 213.066 INFO:tensorflow:loss = 10.426752, step = 2101 (0.471 sec) INFO:tensorflow:global_step/sec: 220.975 INFO:tensorflow:loss = 10.594796, step = 2201 (0.452 sec) INFO:tensorflow:global_step/sec: 219.289 INFO:tensorflow:loss = 10.4212265, step = 2301 (0.456 sec) INFO:tensorflow:global_step/sec: 215.123 INFO:tensorflow:loss = 9.668612, step = 2401 (0.465 sec) INFO:tensorflow:global_step/sec: 175.65 INFO:tensorflow:loss = 10.009649, step = 2501 (0.569 sec) INFO:tensorflow:global_step/sec: 206.962 INFO:tensorflow:loss = 10.477722, step = 2601 (0.483 sec) INFO:tensorflow:global_step/sec: 229.627 INFO:tensorflow:loss = 9.877638, step = 2701 (0.435 sec) INFO:tensorflow:global_step/sec: 195.792 INFO:tensorflow:loss = 10.274586, step = 2801 (0.512 sec) INFO:tensorflow:global_step/sec: 176.803 INFO:tensorflow:loss = 10.061047, step = 2901 (0.566 sec) INFO:tensorflow:Saving checkpoints for 3000 into train/linreg/model.ckpt. INFO:tensorflow: Loss for the final step: 10.73032. 

Für Windows-Benutzer

 cd C:UsersAdminAnaconda3 activate hello-tf 

Um TensorBoard zu starten, können wir diesen Code verwenden

 tensorboard --logdir=.	rainlinreg