[PYTHON] Exécution de MINST dans TensorFlow 2.0 et visualisation dans TensorBoard (version 2019)

introduction

environnement

Introduction de TensorFlow

set HTTP_PROXY=Paramètres du proxy
set HTTPS_PROXY=Paramètres du proxy

pip install tensorflow

Exécutez MINST

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

#Charge de données
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

#Empiler les couches tf.keras.Construire un modèle séquentiel
model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),  #Lisser les données 2D de taille 28x28 à 784 données 1D
  tf.keras.layers.Dense(128, activation='relu'),  #Spécifiez la fonction de rampe comme fonction d'activation
  tf.keras.layers.Dropout(0.2),                   #Spécifier le taux d'abandon pour éviter le surapprentissage
  tf.keras.layers.Dense(10, activation='softmax') #Spécifiez Soft Plus pour la fonction d'activation
])

#Choisissez un optimiseur et une fonction de perte pour l'entraînement
model.compile(optimizer='adam',  #Décidez comment optimiser l'apprentissage
              loss='sparse_categorical_crossentropy',  #Décidez comment définir la perte
              metrics=['accuracy'])

#Former le modèle
model.fit(x_train, y_train, epochs=5)

#Renvoie la valeur de perte et la valeur d'évaluation du modèle
model.evaluate(x_test,  y_test, verbose=2)

Destination du placement des données


C:\Users\Nom d'utilisateur\.keras\datasets

Résultat d'exécution


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

Visualisation du processus d'apprentissage à l'aide de TensorBoard

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

#Charge de données
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

#Empiler les couches tf.keras.Construire un modèle séquentiel
model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),  #Lisser les données 2D de taille 28x28 à 784 données 1D
  tf.keras.layers.Dense(128, activation='relu'),  #Spécifiez la fonction de rampe comme fonction d'activation
  tf.keras.layers.Dropout(0.2),                   #Spécifier le taux d'abandon pour éviter le surapprentissage
  tf.keras.layers.Dense(10, activation='softmax') #Spécifiez Soft Plus pour la fonction d'activation
])

#Choisissez un optimiseur et une fonction de perte pour l'entraînement
model.compile(optimizer='adam',  #Décidez comment optimiser l'apprentissage
              loss='sparse_categorical_crossentropy',  #Décidez comment définir la perte
              metrics=['accuracy'])

#Fonction de rappel de sortie de journal pour tensorboard
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir="log_dir", histogram_freq=1)

#Former le modèle
model.fit(x_train, y_train, epochs=5, validation_data=(x_test, y_test), callbacks=[tensorboard_callback])

#Renvoie la valeur de perte et la valeur d'évaluation du modèle
model.evaluate(x_test,  y_test, verbose=2)
#Fonction de rappel de sortie de journal pour tensorboard
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir="log_dir", histogram_freq=1)

#Former le modèle
model.fit(x_train, y_train, epochs=5, validation_data=(x_test, y_test), callbacks=[tensorboard_callback])
tensorboard --logdir='./log_dir'

Résumé

Recommended Posts

Exécution de MINST dans TensorFlow 2.0 et visualisation dans TensorBoard (version 2019)
Record of TensorFlow mnist Expert Edition (Visualisation de TensorBoard)
Essayez d'exécuter tensorflow sur Docker + anaconda
Implémenter TensorFlow Lite sur Mac [édition 2019]
Introduction à TensorFlow - Hello World Edition
Précautions lors de l'exécution de Python sur EC2 à partir d'AWS Lambda (Exécuter la commande)
Mémo Tensorflow [mis à jour de temps à autre]
Comment installer TensorFlow sur CentOS 7
Mettre à jour les applications exécutées sur Django 1.7 vers Django 1.8
Tout, de la création d'un environnement Python à son exécution sous Windows
Mettre à jour Mac Python de 2 à 3
Migrer les applications Django exécutées sur Python 2.7 vers Python 3.5
[TF] Comment utiliser Tensorboard de Keras
Connexion de python à MySQL sur CentOS 6.4
Notes sur l'apprentissage automatique (mises à jour de temps en temps)
[Introduction à TensorBoard] Visualisez le traitement TensorFlow pour approfondir la compréhension
Essayez d'exécuter Distributed TensorFlow sur Google Cloud Platform
Apprenez à gonfler des images à partir du code TensorFlow
"Apprentissage de word2vec" et "Visualisation avec Tensorboard" sur Colaboratory