In this project, I implemented and compared several popular architectures in convolutional neural networks (CNNs) and some new architectures for the classification tasks on the image datasets: MNIST and Fashion-MNIST. I tested these datasets on LeNet, MLP, and a custom neural network architecture. For each dataset and CNN model, worked on the following steps using Python:
- Loading the data set
- Exploring a few examples and visualize these images
- Creating a validation set and preprocessing the images
- Splitting the training data set into a training set (90% samples) and a validation set (10% samples)
- Converting the images and the targets into torch format for training and validation data sets
- Installing the tensorboard for PyTorch and learning how to use tensorboard to draw figures about the intermediate results
- Implementing the CNN models using PyTorch
- Training the CNN model for 25 to 50 epochs and printing out the validation losses
- Showing the accuracy of the model on the training and the validation sets
- Generating predictions for the test set
- Loading the test images
- Doing the pre-processing steps on these images similar to what you did for the training images
- Generating predictions for the test set
- Organizing the results of the project into a report