This assignment is due on Thursday, Dec 4 2025 at 11:59pm PST.

Starter code containing Colab notebooks can be downloaded here.

Setup

You can find the main notebook with instructions and questions named assignment5.ipynb.

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.

Goals

In this assignment, we will implement a simple deep convolutional neural network (CNN) for image classification. We will use a custom dataset with five classes (face, airplane, dog, car, and tree), each containing 1,000 30x30 color images. This dataset is selected from AffectNet, ImageNet, and CIFAR-10. This "toy" dataset is small enough to run on a CPU so that you can taste deep learning with limited resources.

Submitting your work

You can either write a separate report and include the answers to the questions there, or write your answers directly in the provided notebook cells (add a markdown cell for each question and write!). Either way, for the submission, you need one PDF file that includes your results and answers to the questions and your completed answer.py.

Important. If you want to upload the PDF saved from Google Colab, please make sure that the submitted notebook has been run and the cell outputs are visible.

Once you have the PDF report and Python file ready, submit the report to Assignment 5 - written and the Python file to Assignment 5 - code on Gradescope.