Spring 2021 / Auburn University
This repository is my implementation of assignments and projects of COMP 6650: Deep Learning. The assignments were from CS231n: Convolutional Neural Networks for Visual Recognition by Stanford University.
Useful Link
- Course Page: http://cs231n.stanford.edu/
- Github Page: https://cs231n.github.io/
- Lecture Videos: YouTube (2017)
✅ Q1: k-Nearest Neighbor classifier
✅ Q2: Training a Support Vector Machine
✅ Q3: Implement a Softmax classifier
✅ Q4: Two-Layer Neural Network
✅ Q5: Higher Level Representations: Image Features
✅ Q1: Fully-connected Neural Network
✅ Q2: Batch Normalization
✅ Q3: Dropout
✅ Q4: Convolutional Networks
✅ Q5: PyTorch on CIFAR-10
Version: PyTorch 1.4.0
In this project, I've implemented several DNN models (Feedforward NN, CNN, RNN, GRU, LSTM and BiLSTM) using PyTorch on FashionMNIST Dataset and compared their performance. The checkpoints can be found here. The comparison is shown below:
Model | Num Layers | Hidden Size | Num Epochs | Learning Rate | Batch Size | Accuracy (Train) | Accuracy (Test) |
---|---|---|---|---|---|---|---|
Feedforward | 1 | 50 | 10 | 0.001 | 64 | 83.62 % | 82.38 % |
CNN | 2 | ... | 10 | 0.001 | 64 | 88.53 % | 87.70 % |
RNN | 2 | 256 | 10 | 0.001 | 64 | 88.06 % | 86.37 % |
GRU | 2 | 256 | 10 | 0.001 | 64 | 89.95 % | 87.80 % |
LSTM | 2 | 256 | 10 | 0.001 | 64 | 85.40 % | 84.06 % |
BiLSTM | 2 | 256 | 10 | 0.001 | 64 | 84.47 % | 83.47 % |
In this project, I've finetuned VGG16 for image classification on CIFAR10 dataset. Originally, VGG16 was trained on Imagenet (1000 classes), that's why I have to modify the last layer (to 10 classes) . I also added one additional fully connected layer on top of the original VGG16 model. As I've finetuned the model, only the last 2 layers have been trained keping other layers frozen. The checkpoints can be found here. Hyperparameters are shown below:
Original Model | Additional Layer | Learning Rate | Batch Size | Num Epochs | Training Accuracy | Testing Accuracy |
---|---|---|---|---|---|---|
VGG16 | 1 | 0.001 | 1024 | 10 | 62.1% | 61.48% |