| | |
| | """Untitled8.ipynb |
| | |
| | Automatically generated by Colaboratory. |
| | |
| | Original file is located at |
| | https://colab.research.google.com/drive/1VfD6Tk-uTrJOBlTJImKWkPqp3EPsrU6F |
| | """ |
| |
|
| | import tensorflow as tf |
| | import matplotlib.pyplot as plt |
| | import seaborn as sn |
| | import numpy as np |
| | import pandas as pd |
| | import math |
| | import datetime |
| | import platform |
| |
|
| | mnist_dataset = tf.keras.datasets.fashion_mnist |
| | (x_train, y_train), (x_test, y_test) = mnist_dataset.load_data() |
| | x_train_odd=x_train |
| | y_train_odd=y_train |
| |
|
| | print('x_train:', x_train_odd.shape) |
| | print('y_train:', y_train_odd.shape) |
| | print('x_test:', x_test.shape) |
| | print('y_test:', y_test.shape) |
| |
|
| | plt.imshow(x_test[0], cmap=plt.cm.binary) |
| | plt.show() |
| |
|
| | x_train_normalized = x_train / 255 |
| | x_test_normalized = x_test / 255 |
| |
|
| | model = tf.keras.models.Sequential() |
| |
|
| | |
| | model.add(tf.keras.layers.Flatten(input_shape=x_train_normalized.shape[1:])) |
| | model.add(tf.keras.layers.Dense( |
| | units=256, |
| | activation=tf.keras.activations.relu, |
| | kernel_regularizer=tf.keras.regularizers.l2(0.002) |
| | )) |
| |
|
| | |
| | model.add(tf.keras.layers.Dense( |
| | units=256, |
| | activation=tf.keras.activations.relu, |
| | kernel_regularizer=tf.keras.regularizers.l2(0.002) |
| | )) |
| |
|
| | |
| | model.add(tf.keras.layers.Dense( |
| | units=10, |
| | activation=tf.keras.activations.softmax |
| | )) |
| |
|
| | model.summary() |
| |
|
| | tf.keras.utils.plot_model( |
| | model, |
| | show_shapes=True, |
| | show_layer_names=True, |
| | ) |
| |
|
| | adam_optimizer = tf.keras.optimizers.Adam(learning_rate=0.001) |
| |
|
| | model.compile( |
| | optimizer=adam_optimizer, |
| | loss=tf.keras.losses.sparse_categorical_crossentropy, |
| | metrics=['accuracy'] |
| | ) |
| |
|
| | log_dir=".logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S") |
| | tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1) |
| |
|
| | training_history = model.fit( |
| | x_train_normalized, |
| | y_train, |
| | epochs=20, |
| | validation_data=(x_test_normalized, y_test), |
| | callbacks=[tensorboard_callback] |
| | ) |
| |
|
| | |
| | |
| | |
| | |
| |
|
| | print('Training loss: ', train_loss) |
| | print('Training accuracy: ', train_accuracy) |
| | print('Validation loss: ', validation_loss) |
| | print('Validation accuracy: ', validation_accuracy) |