0% found this document useful (0 votes)
8 views2 pages

CNN Model for MNIST Classification

Uploaded by

ykl.zjut
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views2 pages

CNN Model for MNIST Classification

Uploaded by

ykl.zjut
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Assignment3.

py Mon Sep 24 23:14:37 2018 1


#Camille Chow
#ECE 471 Assignment 3
import numpy as np
import tensorflow as tf

#dimensional constants
num_classes = 10
image_h = 28
image_w = 28
channels = 1
input_shape = (image_h, image_w, channels)
val_set_size = 10000

#tunable hyperparams
batch_size = 50
epochs = 2
kernel_size = 3
pool_size = 2
a_fcn = ’relu’
dropout = .35
lam = .001

#get data
mnist = [Link]
(x_train, y_train),(x_test, y_test) = mnist.load_data()

#shape test data


x_test = x_test.reshape(x_test.shape[0], image_h, image_w, channels)
x_test = x_test.astype(’float32’)
x_test /= 255.0
y_test = [Link].to_categorical(y_test, num_classes)

#shape training data


x_train = x_train.reshape(x_train.shape[0], image_h, image_w, channels)
x_train = x_train.astype(’float32’)
x_train /= 255.0
y_train = [Link].to_categorical(y_train, num_classes)

#split into training/validation sets


x_val = x_train[:val_set_size]
y_val = y_train[:val_set_size]
x_train = x_train[val_set_size:]
y_train = y_train[val_set_size:]

#build cnn
model = [Link]()
[Link]([Link].Conv2D(32, kernel_size=kernel_size, strides=(1, 1), activation=
a_fcn, input_shape=input_shape))
[Link]([Link].MaxPooling2D(pool_size=pool_size, strides=pool_size))
[Link]([Link].Conv2D(64, kernel_size=kernel_size, activation=a_fcn))
[Link]([Link].MaxPooling2D(pool_size=pool_size))
[Link]([Link]())
[Link]([Link](500, activation=a_fcn, kernel_regularizer=[Link]
rizers.l2(lam)))
[Link]([Link](dropout))
[Link]([Link](num_classes, activation=’softmax’))

#train model
[Link](loss=[Link].categorical_crossentropy, optimizer=[Link]
[Link](), metrics=[’accuracy’])
[Link](x_train, y_train, batch_size=batch_size, epochs=epochs, verbose=1, validation_d
ata=(x_test, y_test))
#[Link](x_val, y_val, batch_size=batch_size, epochs=epochs, verbose=1, validation_data
=(x_test, y_test))

#test model
score = [Link](x_test, y_test, verbose=0)
print(’Test loss:’, score[0])
print(’Test accuracy:’, score[1])

You might also like