# build cnn network
model = tf.keras.models.Sequential([
layers.Convolution2D(filters=32, kernel_size=[5, 5],
padding='same', activation = 'relu',
input_shape=(1, 28, 28)),
layers.MaxPooling2D(pool_size=(2, 2), strides=(2, 2), padding='same'),
layers.Convolution2D(filters=128, kernel_size=[3,3],
padding='same', activation = 'relu'),
layers.MaxPooling2D(pool_size=(2, 2), strides=(1, 1), padding='same'),
layers.Flatten(),
layers.Dense(1024, activation='relu'),
layers.Dense(128, activation='relu'),
layers.Dense(10, activation='softmax')
])
# compile model
model.compile(optimizer='adam',
loss='categorical_crossentropy',
metrics=['accuracy'])
model.fit(x_train, y_train_oh, epochs=5, batch_size=None) # If unspecified, batch_size will default to 32.
model.evaluate(x_test, y_test_oh)