COS 429 - Computer Vision

Fall 2019

Course home Outline and Lecture Notes Assignments


Assignment 4: Deep Learning

Due Thursday, Dec. 5


Part IV. Classifying Images

Now we are ready to train a simple ConvNet to classify images. This data set, known as CIFAR-10, contains 32x32 RGB images, each belonging to one of 10 categories. The code is available at cifar10_tutorial.


Task 0: Train the network for 2 epochs using the code in section 4. Train the network

This will start by downloading and saving the data set.


Task 1: Evaluate the network on a batch of 100 test examples (hints: batch_size to create testloader) and compute the normalized softmax scores for each class (recall Part 4.2 of the tutorial). Now look at several examples including the best, worst, and some average classified ones and display them using the imshow(img) function).


Task 2: Now train the network for more iterations until it looks like it has converged. (running the cell in 4. Train the network again will continue training from where you left off). You probably want to give the resulting net a different variable name so you can still access the previous one.

Look at the same examples as before. Has the classification improved? How did it change for the good and bad examples?


Task 3:

Now you will start to modify the network and its training options.

First, play with the learning rate and see if you can make it learn faster. What is the range of reasonable learning rates for this network?


Task 4: Play with the network and see if you can make it better. Try changing the number of channels. Also try adding some additional conv+relu layers (without pooling and with pading so the layer size does not change). Can you find one that achieves a better classification accuracy on the test set?

What to turn in:






Last update 25-Nov-2019 14:03:23