In this project, I trained an MNIST Classifier using a LeNet model. The steps I followed to complete this project are as follows:
- Familiarized myself with the MNIST database, and went through some of the 60,000 training images and 10,000 testing images
- Researched thoroughly about the LeNet structure, and how to code LeCun's model efficiently
- Researched about how to load and customize training and validation datasets and about how to train and validate a CNN
- Downloaded the necessary libraries (PyTorch, Matplotlib, Seaborn, Scikit, Pandas, Numpy)
- Coded and trained the model
- Plotted accuracy and loss graphs for the trained model
- Plotted confusion matrix to better understand the accuracy of trained model's predictions
- Researched about and then coded the visualizations for certain layers
The code (a .py file) can be run through the built-in terminal in macOS, given that all the libraries are installed The slideshow can be accessed by downloading the pdf of the slides
https://www.analyticsvidhya.com/blog/2021/03/the-architecture-of-lenet-5/ https://www.datasciencecentral.com/profiles/blogs/lenet-5-a-classic-cnn-architecture https://pytorch.org/tutorials/recipes/recipes/loading_data_recipe.html https://towardsdatascience.com/train-validation-and-test-sets-72cb40cba9e7 https://www.youtube.com/watch?v=r0TlnPUFG5U http://yann.lecun.com/exdb/publis/pdf/lecun-01a.pdf https://machinelearningmastery.com/confusion-matrix-machine-learning/ https://machinelearningmastery.com/how-to-visualize-filters-and-feature-maps-in-convolutional-neural-networks/ https://discuss.pytorch.org/t/how-to-visualize-fully-connected-layer-output/18857 https://machinelearningmastery.com/learning-curves-for-diagnosing-machine-learning-model-performance/