A PyTorch implementation of CNNs and RNNs on MNIST handwritten digits.
This project uses the MNIST dataset for training. It has a total of 70000
handwritten digits split into train set and test set of 60000
and 10000
images respectively. The images are 28x28 pixelated grayscale images of single handwritten digits between 0 and 9.
The objective of this project is to classify a given image of handwritten digit into a integer from 0 to 9.
- Exploring the dataset
- Defining a neural network architecture
- Hyper-parameter search and Training the model
- Evaluating the model’s results and plotting graphs
- Experiment how RNNs do on image data
Train Accuracy Validation Accuracy Test Accuracy `Training without validation 99.30% - 99.19% `Training with validation *99.34% 99.06% 99.14% ^Training with Vanilla RNN *95.18% - 95.86% ^Training with GRU *99.42% - 98.97% ^Training with LSTM *99.24% - 98.85% ^Training with Bidirectional LSTM *99.16% - 98.89%
* - running accuracy;
` - trained for 4 epochs;
^ - trained for 8 epochs;