This assignment is due on May 23 at 11:59pm PST.

Starter code containing Colab notebooks can be downloaded here.

Setup


Note. Ensure you are periodically saving your notebook (File -> Save) so that you don't lose your progress if you step away from the assignment and the Colab VM disconnects.

Once you have completed all Colab notebooks except collect_submission.ipynb, proceed to the submission instructions.

Goals

In this assignment you will become acquainted with a modern DL framework and learn the ins and outs of RNNs and LSTMs. The goals of this assignment are as follows:

Q1: PyTorch on CIFAR-10

For this first part, you will be working in PyTorch, a popular and powerful deep learning framework.

Open up PyTorch.ipynb. There, you will learn how the framework works, culminating in training a convolutional network of your own design on CIFAR-10 to get the best performance you can.

Q3: Image Captioning with Vanilla RNNs

The notebook RNN_Captioning.ipynb will walk you through the implementation of vanilla recurrent neural networks and apply them to image captioning on COCO.

Q3: Image Captioning with LSTMs

The notebook LSTM_Captioning.ipynb will walk you through the implementation of LSTMs and apply them to image captioning on COCO.

Submitting your work

Important. Please make sure that the submitted notebooks have been run and the cell outputs are visible.

1. Open collect_submission.ipynb in Colab and execute the notebook cells.

This notebook/script will: generate a zip file of your code (.py and .ipynb) called a4_code_submission.zip.

If your submission for this step was successful, you should see the following display message:

### Done! Please submit a4_code_submission.zip to Gradescope. ###

2. Submit the zip file to Gradescope.

Remember to download a4_code_submission.zip locally before submitting to Gradescope.

3. Ensure that you have answered, on Gradescope, the inline questions scattered throughout the notebooks.