Skip to content

Commit 9e03f7c

Browse files
committed
prep for assignment2
1 parent acc788d commit 9e03f7c

File tree

3 files changed

+91
-0
lines changed

3 files changed

+91
-0
lines changed

_config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,4 @@ kramdown:
2020

2121
# links to homeworks
2222
hw_1_colab: https://cs231n.github.io/assignments/2021/assignment1_colab.zip
23+
hw_2_colab:

assignments/2021/assignment2.md

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
---
2+
layout: page
3+
title: Assignment 2
4+
mathjax: true
5+
permalink: /assignments2021/assignment2/
6+
---
7+
8+
<span style="color:red">This assignment is due on **Friday, April 30 2021** at 11:59pm PST.</span>
9+
10+
Starter code containing Colab notebooks can be [downloaded here]({{site.hw_2_colab}}).
11+
12+
- [Setup](#setup)
13+
- [Goals](#goals)
14+
- [Q1: Fully-connected Neural Network](#q1-fully-connected-neural-network)
15+
- [Q2: Batch Normalization](#q2-batch-normalization)
16+
- [Q3: Dropout](#q3-dropout)
17+
- [Q4: Convolutional Networks](#q4-convolutional-networks)
18+
- [Q5: PyTorch / TensorFlow on CIFAR-10](#q5-pytorch--tensorflow-on-cifar-10)
19+
- [Submitting your work](#submitting-your-work)
20+
21+
### Setup
22+
23+
Please familiarize yourself with the [recommended workflow]({{site.baseurl}}/setup-instructions/#working-remotely-on-google-colaboratory) before starting the assignment. You should also watch the Colab walkthrough tutorial below.
24+
25+
<iframe style="display: block; margin: auto;" width="560" height="315" src="https://www.youtube.com/embed/IZUz4pRYlus" frameborder="0" allowfullscreen></iframe>
26+
27+
**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.
28+
29+
While we don't officially support local development, we've added a <b>requirements.txt</b> file that you can use to setup a virtual env.
30+
31+
Once you have completed all Colab notebooks **except `collect_submission.ipynb`**, proceed to the [submission instructions](#submitting-your-work).
32+
33+
### Goals
34+
35+
In this assignment you will practice writing backpropagation code, and training Neural Networks and Convolutional Neural Networks. The goals of this assignment are as follows:
36+
37+
- Understand **Neural Networks** and how they are arranged in layered architectures.
38+
- Understand and be able to implement (vectorized) **backpropagation**.
39+
- Implement various **update rules** used to optimize Neural Networks.
40+
- Implement **Batch Normalization** and **Layer Normalization** for training deep networks.
41+
- Implement **Dropout** to regularize networks.
42+
- Understand the architecture of **Convolutional Neural Networks** and get practice with training them.
43+
- Gain experience with a major deep learning framework, such as **TensorFlow** or **PyTorch**.
44+
45+
### Q1: Fully-connected Neural Network
46+
47+
The notebook `FullyConnectedNets.ipynb` will introduce you to our
48+
modular layer design, and then use those layers to implement fully-connected
49+
networks of arbitrary depth. To optimize these models you will implement several
50+
popular update rules.
51+
52+
### Q2: Batch Normalization
53+
54+
In notebook `BatchNormalization.ipynb` you will implement batch normalization, and use it to train deep fully-connected networks.
55+
56+
### Q3: Dropout
57+
58+
The notebook `Dropout.ipynb` will help you implement Dropout and explore its effects on model generalization.
59+
60+
### Q4: Convolutional Networks
61+
In the IPython Notebook `ConvolutionalNetworks.ipynb` you will implement several new layers that are commonly used in convolutional networks.
62+
63+
### Q5: PyTorch / TensorFlow on CIFAR-10
64+
For this last part, you will be working in either TensorFlow or PyTorch, two popular and powerful deep learning frameworks. **You only need to complete ONE of these two notebooks.** You do NOT need to do both, and we will _not_ be awarding extra credit to those who do.
65+
66+
Open up either `PyTorch.ipynb` or `TensorFlow.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.
67+
68+
### Submitting your work
69+
70+
**Important**. Please make sure that the submitted notebooks have been run and the cell outputs are visible.
71+
72+
Once you have completed all notebooks and filled out the necessary code, you need to follow the below instructions to submit your work:
73+
74+
**1.** Open `collect_submission.ipynb` in Colab and execute the notebook cells.
75+
76+
This notebook/script will:
77+
78+
* Generate a zip file of your code (`.py` and `.ipynb`) called `a2.zip`.
79+
* Convert all notebooks into a single PDF file.
80+
81+
If your submission for this step was successful, you should see the following display message:
82+
83+
`### Done! Please submit a1.zip and the pdfs to Gradescope. ###`
84+
85+
**2.** Submit the PDF and the zip file to [Gradescope](https://www.gradescope.com/courses/257661).
86+
87+
Remember to download `a2.zip` and `assignment.pdf` locally before submitting to Gradescope.

index.html

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@
1717
<div class="materials-item">
1818
<a href="assignments2021/assignment1/">Assignment #1: Image Classification, kNN, SVM, Softmax, Fully-Connected Neural Network</a>
1919
</div>
20+
<!-- <div class="materials-item">
21+
<a href="assignments2021/assignment2/">Assignment #2: Fully-Connected and Convolutional Nets, Batch Normalization, Dropout</a>
22+
</div> -->
2023
</div>
2124
<!--
2225
<div class="materials-item">

0 commit comments

Comments
 (0)