[PYTHON] [Einführung in TensorBoard] Visualisieren Sie die TensorFlow-Verarbeitung, um das Verständnis zu vertiefen

Beschleunigen Sie Ihr Verständnis von TensorFlow mit TensorBoard

Wenn Sie ein Absolvent der Freien Künste sind und Python noch nicht kennen, geschweige denn Deep Learning, ist es schwierig, TensorFlow zu verstehen. Ich habe auch TensorBoard ** gelernt, um mein Verständnis zu beschleunigen. Es kann nicht nur verwendet werden, um das Verständnis für kompliziertes Deep Learning zu fördern, sondern auch für verschiedene Zwecke wie Debugging, Verarbeitungsoptimierung und Neugestaltung. Es gibt verschiedene Visualisierungen, aber ** dieser Artikel konzentriert sich auf die Graph-Ausgabemethode für Anfänger ** (Ich wünschte, ich könnte sie breiter und tiefer machen, aber mein Verständnis hat diesen Punkt nicht erreicht. Hmm: Schweiß :). Der Offizielle Leitfaden "Tensor Board: Visualisierung des Lernens" war verwirrend, daher habe ich ihn stark vereinfacht. Die Seite von Verarbeitung mit TensorBoard visualisieren war wunderbar und ich habe sie als Referenz verwendet. Umgebung: Bestätigt sowohl mit Python3.5 Tensorflow1.1 als auch mit Tensorflow1.21

Referenzlink

Einfache Logik für TensorBoard (Grafik)

Visualisieren Sie 1 + 2 Ausdrücke in Graph

Berechnen Sie die Konstante 1 + 2 wie folgt und visualisieren Sie sie. Um ehrlich zu sein, ist es sehr einfach.

import tensorflow as tf
sess = tf.InteractiveSession()

#Ausgabeverzeichnis für TensorBoard-Informationen
log_dir = '/tmp/tensorflow/mnist/logs/simple01'

#Löschen Sie das angegebene Verzeichnis, falls vorhanden, und erstellen Sie es neu
if tf.gfile.Exists(log_dir):
    tf.gfile.DeleteRecursively(log_dir)
tf.gfile.MakeDirs(log_dir)

#1 mit einer Konstanten+ 2
x = tf.constant(1, name='x')
y = tf.constant(2, name='y')
z = x + y

#Geben Sie mit diesem Befehl z im Diagramm aus
_ = tf.summary.scalar('z', z)

#Zeichnen Sie mit Summary Writer ein Diagramm(Danach werden keine Befehle mehr in das Diagramm ausgegeben)
summary_writer = tf.summary.FileWriter(log_dir , sess.graph)

#Lauf
print(sess.run(z))

#SummaryWriter geschlossen
summary_writer.close()

Starten Sie dann Tensorboard. Da meine Umgebung mit Anaconda erstellt wurde, starte ich das Terminal zunächst über Anaconda Navigator. 30.TensorFlow_Install01.JPG

Starten Sie dann Tensorbaord vom Terminal aus, indem Sie das Verzeichnis angeben (das Verzeichnis wird in der Python-Programmvariablen log_dir gespeichert).

tensorboard --logdir=/tmp/tensorflow/mnist/logs/simple01

Öffnen Sie nach dem Start http: // localhost: 6006 / in Ihrem Browser, um den TensorBoard-Bildschirm anzuzeigen.

TensorBoardBasic00.JPG

Ich ärgere mich über "Es wurden keine Skalardaten gefunden", aber diesmal gibt es kein Problem, da Skalar nicht ausgegeben wird und nur die Grafikausgabe verwendet wird. Durch Auswahl von "Diagramme" aus dem Menü auf dem Bildschirm wird das unten gezeigte Diagramm ausgegeben. Ich konnte hier die 1 + 2 Formel sehen.

TensorBoardBasic01.JPG

Gruppierung mit tf.name_scope

Die Gruppierung kann durch Hinzufügen von tf.name_scope zum vorherigen Quellcode erfolgen.

import tensorflow as tf
sess = tf.InteractiveSession()

#Ausgabeverzeichnis für TensorBoard-Informationen
log_dir = '/tmp/tensorflow/mnist/logs/simple02'

#Löschen Sie das angegebene Verzeichnis, falls vorhanden, und erstellen Sie es neu
if tf.gfile.Exists(log_dir):
    tf.gfile.DeleteRecursively(log_dir)
tf.gfile.MakeDirs(log_dir)

# add_Gruppierung nach dem Namen des Bereichs
with tf.name_scope('add_scope'):
    
    #1 mit einer Konstanten+ 2
    x = tf.constant(1, name='x')
    y = tf.constant(2, name='y')
    z = x + y
    
    #Geben Sie mit diesem Befehl z im Diagramm aus
    _ = tf.summary.scalar('z', z)


#Zeichnen Sie mit Summary Writer ein Diagramm(Danach werden keine Befehle mehr in das Diagramm ausgegeben)
summary_writer = tf.summary.FileWriter(log_dir , sess.graph)

#Lauf
print(sess.run(z))

#SummaryWriter geschlossen
summary_writer.close()

Ergebnis Die Gruppierung (Frame) wird mit dem Namen add_scope erstellt. Wenn die Berechnung kompliziert ist, ist es zu schwierig zu erkennen, ob sie nicht gruppiert werden kann.

TensorBoardBasic02.JPG

Ausdruckshierarchie

Fügen Sie dem vorherigen Quellcode verschachtelt tf.name_scope hinzu, um eine Hierarchie mehrerer Ausdrücke zu erstellen.

import tensorflow as tf
sess = tf.InteractiveSession()

#Ausgabeverzeichnis für TensorBoard-Informationen
log_dir = '/tmp/tensorflow/mnist/logs/simple02'

#Löschen Sie das angegebene Verzeichnis, falls vorhanden, und erstellen Sie es neu
if tf.gfile.Exists(log_dir):
    tf.gfile.DeleteRecursively(log_dir)
tf.gfile.MakeDirs(log_dir)

#add_Gruppierung nach dem Namen des Bereichs
with tf.name_scope('add_scope'):

    #1 mit einer Konstanten+ 2
    x = tf.constant(1, name='x')
    y = tf.constant(2, name='y')
    z = x + y
    
    #Geben Sie mit diesem Befehl z im Diagramm aus
    _ = tf.summary.scalar('z', z)
    
    #Multiplizieren Sie das obige Ergebnis
    with tf.name_scope('multiply_scope'):
        zz = y * z

#Zeichnen Sie mit Summary Writer ein Diagramm(Danach werden keine Befehle mehr in das Diagramm ausgegeben)
summary_writer = tf.summary.FileWriter(log_dir , sess.graph)

#Lauf
print(sess.run(z))

#SummaryWriter geschlossen
summary_writer.close()

Ergebnis Es war geschichtet und ordentlich.

TensorBoardBasic03.JPG

Referenz Übrigens, wenn Sie sie in dieselbe Zeile anstatt in eine Ebene einfügen, werden sie in dieser Form ausgegeben.

TensorBoardBasic04.JPG

Recommended Posts

[Einführung in TensorBoard] Visualisieren Sie die TensorFlow-Verarbeitung, um das Verständnis zu vertiefen
[Einführung in TensorBoard: image] TensorFlow Visualisieren Sie die Bildverarbeitung, um das Verständnis zu vertiefen
opencv-python Einführung in die Bildverarbeitung
Einführung in Private TensorFlow
[Erklärung für Anfänger] Einführung in die Faltverarbeitung (erklärt in TensorFlow)
[Erklärung für Anfänger] Einführung in die Pooling-Verarbeitung (erklärt in TensorFlow)
Einführung in TensorFlow - Hallo World Edition
Ich habe versucht, AutoEncoder mit TensorFlow zu visualisieren
Wahrscheinlich die einfachste Einführung in TensorFlow
Anfänger lesen "Einführung in TensorFlow 2.0 für Experten"
Versuchen Sie, Ihre Tweets zu visualisieren, während Sie BERT Hands-on verstehen
Einführung in MQTT (Einführung)
Einführung in Scrapy (1)
Einführung in Scrapy (3)
Erste Schritte mit Supervisor
Einführung in Tkinter 1: Einführung
Einführung in PyQt
Einführung in Scrapy (2)
[Linux] Einführung in Linux
Einführung in Scrapy (4)
Einführung in discord.py (2)
TensorFlow mit Arithmetik verstehen
[Einführung in Python] Verwendung der while-Anweisung (wiederholte Verarbeitung)
Einführung in die verteilte Parallelverarbeitung von Python durch Ray
[Kapitel 6] Einführung in Scicit-Learn mit 100 Klopfen Sprachverarbeitung
[Kapitel 3] Einführung in Python mit 100 Klopfen Sprachverarbeitung
Ausführung von MINST in TensorFlow 2.0 und Visualisierung in TensorBoard (Version 2019)
[Kapitel 2] Einführung in Python mit 100 Klopfen Sprachverarbeitung
[Einführung in RasPi4] Umgebungskonstruktion; OpenCV / Tensorflow, japanische Eingabe ♪
[Kapitel 4] Einführung in Python mit 100 Klopfen Sprachverarbeitung