In [1]:
import h5py
In [3]:
import pydot
In [4]:
print(pydot.__version__)
In [15]:
from keras.utils import np_utils
from keras.datasets import mnist
from keras.models import Sequential
from keras.layers import Dense, Activation
import numpy as np
In [22]:
(X_train, Y_train),(X_test, Y_test) = mnist.load_data()
In [42]:
type(X_test)
Out[42]:
In [24]:
X_train = X_train.reshape(60000, 784).astype('float32') / 255.0
X_test = X_test.reshape(10000, 784).astype('float32') / 255.0
In [40]:
np.array(tuple([[4,5]])).shape
Out[40]:
In [44]:
type(np.array(tuple([[4,5]])))
Out[44]:
In [47]:
print(Y_train)
In [56]:
Y_train = np_utils.to_categorical(Y_train)
Y_test = np_utils.to_categorical(Y_test)
In [50]:
print(Y_train)
In [52]:
model = Sequential()
model.add(Dense(units=64, input_dim = 28*28, activation='relu'))
model.add(Dense(units=10, activation='softmax'))
In [53]:
model.compile(loss = 'categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])
In [54]:
model.fit(X_train, Y_train, epochs=5, batch_size=32)
Out[54]:
In [57]:
loss_and_metrics = model.evaluate(X_test, Y_test, batch_size=32)
In [58]:
print('loss_and_met : ', str(loss_and_metrics))
In [65]:
from IPython.display import SVG
from keras.utils.vis_utils import model_to_dot
In [66]:
%matplotlib inline
In [67]:
SVG(model_to_dot(model, show_shapes=True).create(prog='dot', format='svg'))
Out[67]:
In [68]:
from keras.models import load_model
In [69]:
model.save('mnist_mlp_model.h5')
In [71]:
model = load_model('mnist_mlp_model.h5')
In [ ]: