In [1]:
from __future__ import absolute_import, division, print_function
# TensorFlow and tf.keras
import tensorflow as tf
from tensorflow import keras
# Helper libraries
import numpy as np
import matplotlib.pyplot as plt
print(tf.__version__)
In [2]:
fashion_mnist = keras.datasets.fashion_mnist
(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()
In [7]:
class_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat',
'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot']
In [16]:
#explore the data
plt.figure()
plt.imshow(train_images[0])
plt.colorbar()
plt.grid(False)
plt.show()
In [17]:
train_images = train_images / 255.0
test_images = test_images / 255.0
In [18]:
plt.figure(figsize=(10,10))
for i in range(20):
plt.subplot(5,5,i+1)
plt.xticks([])
plt.yticks([])
plt.grid(False)
plt.imshow(train_images[i], cmap=plt.cm.binary)
plt.xlabel(class_names[train_labels[i]])
plt.show()
In [34]:
class MyModel(tf.keras.Model):
def __init__(self):
super(MyModel,self).__init__()
pass
def build_model():
##Model Architecture
model = keras.Sequential([
keras.layers.Flatten(input_shape=(28,28)),
keras.layers.Dense(128,activation = 'relu'),
keras.layers.Dense(10,activation = 'softmax')
])
optimizer = keras.optimizers.Adam
model.compile(optimizer = 'adam', loss = 'sparse_categorical_crossentropy', metrics = ['accuracy'])
return model
In [25]:
In [37]:
class PrintDot(keras.callbacks.Callback):
def on_epoch_end(self, epoch, logs):
if epoch % 100 == 0: print('')
print('.',end='')
EPOCHS = 100
model = build_model()
history = model.fit(train_images,train_labels,epochs=EPOCHS, validation_data=[test_images,test_labels],callbacks=[PrintDot()])
In [29]:
In [31]:
results = model.evaluate(test_images,test_labels)
print(results)
In [35]:
history_dicts = history.history
print(history_dicts.keys())
In [36]:
model.summary()
In [ ]:
model =