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.
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:
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:
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
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.
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.
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