In [1]:
import tensorflow as tf
import datetime, os
import tensorboard
In [2]:
tf.version.VERSION
Out[2]:
'2.2.0'
In [3]:
fashion_mnist = tf.keras.datasets.fashion_mnist
(x_train, y_train),(x_test, y_test) = fashion_mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0
In [4]:
def create_model():
return tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(512, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation='softmax')
])
In [5]:
def train_model():
model = create_model()
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
logdir = os.path.join("logs", datetime.datetime.now().strftime("%Y%m%d-%H%M%S"))
tensorboard_callback = tf.keras.callbacks.TensorBoard(logdir, histogram_freq=1)
model.fit(x=x_train,
y=y_train,
epochs=10,
validation_data=(x_test, y_test),
callbacks=[tensorboard_callback])
train_model()
Epoch 1/10 1875/1875 [==============================] - 4s 2ms/step - loss: 0.4955 - accuracy: 0.8220 - val_loss: 0.4341 - val_accuracy: 0.8425 Epoch 2/10 1875/1875 [==============================] - 4s 2ms/step - loss: 0.3794 - accuracy: 0.8617 - val_loss: 0.3984 - val_accuracy: 0.8560 Epoch 3/10 1875/1875 [==============================] - 4s 2ms/step - loss: 0.3470 - accuracy: 0.8731 - val_loss: 0.3615 - val_accuracy: 0.8683 Epoch 4/10 1875/1875 [==============================] - 4s 2ms/step - loss: 0.3291 - accuracy: 0.8777 - val_loss: 0.3845 - val_accuracy: 0.8598 Epoch 5/10 1875/1875 [==============================] - 4s 2ms/step - loss: 0.3127 - accuracy: 0.8835 - val_loss: 0.3502 - val_accuracy: 0.8756 Epoch 6/10 1875/1875 [==============================] - 4s 2ms/step - loss: 0.3009 - accuracy: 0.8881 - val_loss: 0.3407 - val_accuracy: 0.8757 Epoch 7/10 1875/1875 [==============================] - 4s 2ms/step - loss: 0.2892 - accuracy: 0.8927 - val_loss: 0.3336 - val_accuracy: 0.8803 Epoch 8/10 1875/1875 [==============================] - 4s 2ms/step - loss: 0.2782 - accuracy: 0.8963 - val_loss: 0.3443 - val_accuracy: 0.8738 Epoch 9/10 1875/1875 [==============================] - 4s 2ms/step - loss: 0.2711 - accuracy: 0.8979 - val_loss: 0.3463 - val_accuracy: 0.8740 Epoch 10/10 1875/1875 [==============================] - 4s 2ms/step - loss: 0.2637 - accuracy: 0.9016 - val_loss: 0.3345 - val_accuracy: 0.8834
In [9]:
tensorboard.notebook.list()
Known TensorBoard instances: - port 6006: logdir logs (started 0:00:03 ago; pid 32282)
In [10]:
%reload_ext tensorboard
%tensorboard --logdir logs --host localhost
Reusing TensorBoard on port 6006 (pid 32282), started 0:00:29 ago. (Use '!kill 32282' to kill it.)