$30
1 Problem 1
Implement CNNs that classify images using PyTorch with the tricks and architectures you learned in the class.
Dataset Train and tune your network based on our modified version of CIFAR-100. Load the dataset with the code snippet provided in https://www.kaggle.com/t/f63012ec31444360a7ae3afa3c6c884e.
The modified CIFAR-100 is a subset of the original CIFAR-100. Please do not train your network with the original CIFAR-100 dataset because we reserve some samples to test your network. Training on the original dataset disqualifies you for extra credit.
Implementation Implement 3 variants of models. You may come up with your own or use state-of-the-art models as a starting point. If you start with someone else’s models, please do more than hyperparameter tuning. Cite anything that inspired you in your report.
You must use at least 2 of the following in each model and at least 5 across all models. You are free to use anything not listed here.
1. dropout
2. batchnorm
3. skip connection
4. transfer learning
5. data augmentation
6. regularization
7. batch size, learning rate, learning rate schedulers and different optimizers
Please use a fixed random seed for reproducibility.
Note The dataset is difficult. Do not be discouraged if you get 10% initial accuracy. Anything above 50% is very good. You will not be graded based on the test accuracy.