User Tools

Site Tools



Code a basic classifier in pytorch. Prepare a scaffold that will be used for experimentation in future labs.


For this lab, you will submit an ipython notebook via learningsuite. Your notebook must contain your classifier code, and should show various final statistics about it and its performance. You should plot your loss curve, a final confusion matrix, and you must clearly display the total parameter count of your network.

Grading standards:

Your notebook will be graded on the following:

  • 45% Successfully created resnet
  • 5% Clearly display the total parameter count of your network
  • 20% Plotted loss curve
  • 20% Showed final confusion matrix
  • 10% Tidy and legible figures, including labeled axes where appropriate


For this lab, you will implement a basic pytorch image classifier on a reasonably large dataset.


Your classifier must be a 20 layer Resnet.

The dataset is the CIFAR-10 dataset. You may use the torchvision.datasets interface to simplify the loading and management of the dataset.

You will probably want to use Google colab to host your notebook.

For your loss curve, any reasonable visualization is acceptable.

For your confusion matrix, you should display a 200×200 image, where each pixel i,j represents the number of times an image of class i was classified as class j.

You will not be graded on any final accuracies. I think this is a pretty hard dataset, so I would not expect much better performance than 40% accuracy.

You may use any code on the internet to help you, but all submitted code must be your own work.

MAJOR HINT: we will be working with this classifier in future labs by adjusting its hyper parameters. In particular, you should make it easy to:

  • Change the activation function
  • Change whether or not you use BatchNorm
  • Change the learning rate schedule
  • Change the weight regularization
  • Change the weight initialization
cs601r_w2020/lab1.txt · Last modified: 2020/01/10 10:23 by wingated