[PYTHON] Ausführung von MINST in TensorFlow 2.0 und Visualisierung in TensorBoard (Version 2019)

Einführung

Umgebung

Einführung von TensorFlow

set HTTP_PROXY=Proxy-Einstellungen
set HTTPS_PROXY=Proxy-Einstellungen

pip install tensorflow

Führen Sie MINST aus

from __future__ import absolute_import, division, print_function, unicode_literals
import tensorflow as tf

#Daten laden
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

#Stapelschichten tf.keras.Erstellen Sie ein sequentielles Modell
model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),  #Glätten von 2D-Daten der Größe 28 x 28 auf 784 1D-Daten
  tf.keras.layers.Dense(128, activation='relu'),  #Geben Sie die Rampenfunktion als Aktivierungsfunktion an
  tf.keras.layers.Dropout(0.2),                   #Festlegen der Abbrecherquote, um Überlernen zu vermeiden
  tf.keras.layers.Dense(10, activation='softmax') #Geben Sie Soft Plus für die Aktivierungsfunktion an
])

#Wählen Sie einen Optimierer und eine Verlustfunktion für das Training
model.compile(optimizer='adam',  #Entscheiden Sie, wie Sie das Lernen optimieren möchten
              loss='sparse_categorical_crossentropy',  #Entscheiden Sie, wie Verlust definiert werden soll
              metrics=['accuracy'])

#Trainiere das Modell
model.fit(x_train, y_train, epochs=5)

#Geben Sie den Verlustwert und den Bewertungswert des Modells zurück
model.evaluate(x_test,  y_test, verbose=2)

Datenplatzierungsziel


C:\Users\Nutzername\.keras\datasets

Ausführungsergebnis


Train on 60000 samples
Epoch 1/5
2019-11-13 14:08:58.762382: I tensorflow/core/profiler/lib/profiler_session.cc:184] Profiler session started.
60000/60000 [==============================] - 5s 82us/sample - loss: 0.2946 - accuracy: 0.9146 - val_loss: 0.1343 - val_accuracy: 0.9589
Epoch 2/5
60000/60000 [==============================] - 4s 66us/sample - loss: 0.1435 - accuracy: 0.9578 - val_loss: 0.1014 - val_accuracy: 0.9698
Epoch 3/5
60000/60000 [==============================] - 4s 67us/sample - loss: 0.1082 - accuracy: 0.9675 - val_loss: 0.0840 - val_accuracy: 0.9737
Epoch 4/5
60000/60000 [==============================] - 4s 67us/sample - loss: 0.0852 - accuracy: 0.9743 - val_loss: 0.0780 - val_accuracy: 0.9758
Epoch 5/5
60000/60000 [==============================] - 4s 66us/sample - loss: 0.0742 - accuracy: 0.9767 - val_loss: 0.0686 - val_accuracy: 0.9780
10000/1 - 0s - loss: 0.0365 - accuracy: 0.9780

Visualisierung des Lernprozesses mit TensorBoard

from __future__ import absolute_import, division, print_function, unicode_literals
import tensorflow as tf

#Daten laden
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

#Stapelschichten tf.keras.Erstellen Sie ein sequentielles Modell
model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),  #Glätten von 2D-Daten der Größe 28 x 28 auf 784 1D-Daten
  tf.keras.layers.Dense(128, activation='relu'),  #Geben Sie die Rampenfunktion als Aktivierungsfunktion an
  tf.keras.layers.Dropout(0.2),                   #Festlegen der Abbrecherquote, um Überlernen zu vermeiden
  tf.keras.layers.Dense(10, activation='softmax') #Geben Sie Soft Plus für die Aktivierungsfunktion an
])

#Wählen Sie einen Optimierer und eine Verlustfunktion für das Training
model.compile(optimizer='adam',  #Entscheiden Sie, wie Sie das Lernen optimieren möchten
              loss='sparse_categorical_crossentropy',  #Entscheiden Sie, wie Verlust definiert werden soll
              metrics=['accuracy'])

#Protokollausgabe-Rückruffunktion für Tensorboard
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir="log_dir", histogram_freq=1)

#Trainiere das Modell
model.fit(x_train, y_train, epochs=5, validation_data=(x_test, y_test), callbacks=[tensorboard_callback])

#Geben Sie den Verlustwert und den Bewertungswert des Modells zurück
model.evaluate(x_test,  y_test, verbose=2)
#Protokollausgabe-Rückruffunktion für Tensorboard
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir="log_dir", histogram_freq=1)

#Trainiere das Modell
model.fit(x_train, y_train, epochs=5, validation_data=(x_test, y_test), callbacks=[tensorboard_callback])
tensorboard --logdir='./log_dir'

Zusammenfassung

Recommended Posts

Ausführung von MINST in TensorFlow 2.0 und Visualisierung in TensorBoard (Version 2019)
Aufzeichnung der TensorFlow Mnist Expert Edition (Visualisierung von TensorBoard)
Versuchen Sie, Tensorflow auf Docker + Anaconda auszuführen
Implementieren Sie TensorFlow Lite auf einem Mac [Ausgabe 2019]
Einführung in TensorFlow - Hallo World Edition
Vorsichtsmaßnahmen beim Ausführen von Python unter EC2 über AWS Lambda (Befehl ausführen)
Tensorflow-Memo [von Zeit zu Zeit aktualisiert]
So installieren Sie TensorFlow unter CentOS 7
Aktualisieren Sie Anwendungen, die unter Django 1.7 ausgeführt werden, auf Django 1.8
Alles vom Erstellen einer Python-Umgebung bis zur Ausführung unter Windows
Aktualisieren Sie Mac Python von 2 auf 3
Migrieren Sie Django-Anwendungen, die unter Python 2.7 ausgeführt werden, auf Python 3.5
[TF] Verwendung von Tensorboard von Keras
Herstellen einer Verbindung von Python zu MySQL unter CentOS 6.4
Hinweise zum maschinellen Lernen (von Zeit zu Zeit aktualisiert)
[Einführung in TensorBoard] Visualisieren Sie die TensorFlow-Verarbeitung, um das Verständnis zu vertiefen
Versuchen Sie, Distributed TensorFlow auf der Google Cloud Platform auszuführen
Erfahren Sie, wie Sie Bilder aus dem TensorFlow-Code aufblasen
"Learning word2vec" und "Visualisierung mit Tensorboard" auf Colaboratory