I started this project to explore the practical aspects of ML training. I have built a decent foundation on neural networks from the many wonderful content available on YouTube, but I did not have any background into implementing them.
I started out with the basic densely connected neural network, and then moved on to using a CNN. Finally, I improved tweaked some aspects of the CNN to achieve the best model possible.
I also explored the many ways researchers play around and train their model. The project was built primarily using python scripts. However, I wanted to get a feel for how python notebooks are used. I have no experience using them and they are quite popular in ML communities. Thus, for the last training, I took elements of my script and put it in kaggle and trained it there.
The models are showcased here as fully static files. I was even able to create a demo page fully statically, where one can upload any model and play around with its predictions.
This is hosted fully on Github pages.
A basic multi-layer perceptron with 3 hidden layers. Naive training approach, possibly overfitted but achieves 98.03% test accuracy.
A CNN architecture with convolutional layers for better feature extraction from image data.
Improved CNN with refined architecture and training process.