0% found this document useful (0 votes)
30 views4 pages

MNIST Image Classification with CNN

Uploaded by

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

MNIST Image Classification with CNN

Uploaded by

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

EXP 4.

IMAGE classification on MNIST dataset (CNN model with


fully connected layers)

AIM: IMAGE classification on MNIST dataset

Requirements:

Python (3.6 version or higher)/Anaconda

PROGRAM :

import numpy as np
from [Link] import mnist
from [Link] import Sequential
from [Link] import Dense, Dropout, Flatten
from [Link] import Conv2D, MaxPooling2D
from [Link] import to_categorical
from keras import backend as K

# Load data
(x_train, y_train), (x_test, y_test) = mnist.load_data()

# Process the data


img_rows, img_cols = 28, 28
if K.image_data_format() == 'channels_first':
x_train = x_train.reshape(x_train.shape[0], 1, img_rows,
img_cols)
x_test = x_test.reshape(x_test.shape[0], 1, img_rows, img_cols)
input_shape = (1, img_rows, img_cols)
else:
x_train = x_train.reshape(x_train.shape[0], img_rows, img_cols,
1)
x_test = x_test.reshape(x_test.shape[0], img_rows, img_cols, 1)
input_shape = (img_rows, img_cols, 1)

x_train = x_train.astype('float32')
x_test = x_test.astype('float32')
x_train /= 255
x_test /= 255

y_train = to_categorical(y_train, 10)


y_test = to_categorical(y_test, 10)

# Create the model


model = Sequential()
[Link](Conv2D(32, kernel_size=(3, 3),
activation='relu',
input_shape=input_shape))
[Link](Conv2D(64, (3, 3), activation='relu'))
[Link](MaxPooling2D(pool_size=(2, 2)))
[Link](Dropout(0.25))
[Link](Flatten())
[Link](Dense(128, activation='relu'))
[Link](Dropout(0.5))
[Link](Dense(10, activation='softmax'))

# Compile the model


[Link](loss='categorical_crossentropy',
optimizer='Adadelta',
metrics=['accuracy'])

# Train the model


batch_size = 128
epochs = 20
[Link](x_train, y_train,
batch_size=batch_size,
epochs=epochs,
verbose=1,
validation_data=(x_test, y_test))

# Evaluate the model


score = [Link](x_test, y_test, verbose=0)
print(f'Test loss: {score[0]}')
print(f'Test accuracy: {score[1]}')

# Predict

pred = [Link](x_test[:5])
pred_classes = [Link](pred, axis=1)
true_classes = [Link](y_test[:5], axis=1)
print("Predicted:", pred_classes)
print("True Labels:", true_classes)

OUTPUT:
Epoch 1/10
469/469 ━━━━━━━━━━━━━━━━━━━━ 187s 395ms/step - accuracy: 0.1348 - loss:
2.2897 - val_accuracy: 0.3236 - val_loss: 2.2485
Epoch 2/10
469/469 ━━━━━━━━━━━━━━━━━━━━ 197s 384ms/step - accuracy: 0.2472 - loss:
2.2431 - val_accuracy: 0.4553 - val_loss: 2.1850
Epoch 3/10
469/469 ━━━━━━━━━━━━━━━━━━━━ 195s 369ms/step - accuracy: 0.3376 - loss:
2.1811 - val_accuracy: 0.5587 - val_loss: 2.0999
Epoch 4/10
469/469 ━━━━━━━━━━━━━━━━━━━━ 212s 391ms/step - accuracy: 0.4139 - loss:
2.0994 - val_accuracy: 0.6180 - val_loss: 1.9870
Epoch 5/10
469/469 ━━━━━━━━━━━━━━━━━━━━ 176s 376ms/step - accuracy: 0.4719 - loss:
1.9854 - val_accuracy: 0.6499 - val_loss: 1.8434
Epoch 6/10
469/469 ━━━━━━━━━━━━━━━━━━━━ 194s 360ms/step - accuracy: 0.5046 - loss:
1.8538 - val_accuracy: 0.6859 - val_loss: 1.6725
Epoch 7/10
469/469 ━━━━━━━━━━━━━━━━━━━━ 205s 368ms/step - accuracy: 0.5393 - loss:
1.7078 - val_accuracy: 0.7241 - val_loss: 1.4894
Epoch 8/10
469/469 ━━━━━━━━━━━━━━━━━━━━ 199s 362ms/step - accuracy: 0.5758 - loss:
1.5501 - val_accuracy: 0.7591 - val_loss: 1.3109
Epoch 9/10
469/469 ━━━━━━━━━━━━━━━━━━━━ 199s 355ms/step - accuracy: 0.6063 - loss:
1.4029 - val_accuracy: 0.7854 - val_loss: 1.1511
Epoch 10/10
469/469 ━━━━━━━━━━━━━━━━━━━━ 172s 368ms/step - accuracy: 0.6332 - loss:
1.2797 - val_accuracy: 0.8036 - val_loss: 1.0184
Test loss:
Test accuracy:

Predicted:
True Labels:

RESULT: Hence IMAGE classification on MNIST Dataset is observed and


obtained the output.

You might also like