This project implements a Convolutional Neural Network (CNN) similar to the TinyVGG architecture to recognize handwritten digits. The model was trained on the MNIST dataset and tested on custom handwritten digits.
The CNN architecture is inspired by TinyVGG and consists of multiple convolutional layers followed by ReLU activation, max-pooling, and fully connected layers. The model achieved 98.12% accuracy (on random seed and accuracy can be better/ worse on other seeds) on both the MNIST test data and custom handwritten digits created using GIMP.
- Training Data: MNIST dataset of handwritten digits (60,000 training images)
- Testing Data: MNIST test set (10,000 images) and custom images created in GIMP
The model achieved:
- 98.12% accuracy (on random seed and accuracy can be better/ worse on other seeds) on custom handwritten digits
To run this project, you will need the following dependencies:
- Python 3.x
- PyTorch
- OpenCV
- NumPy
- Matplotlib
NOTE: The images in MNIST dataset, on which the model are greyscale and 28x28 pixels in size. So, ensure to test on images of same size and color channels.
B M Manohara @Manohara-Ai