CS231n assignments
Course links
- CS231n: Convolutional Neural Networks for Visual Recognition (Spring 2017), syllabus, 2016 video, 2017 videos, 2017 slides, 2021 slides
- 2019 Syllabus and Assignments
- Github: cs231n/cs231n.github.io
- Andrei’s fork with solutions: Bitdribble/cs231n
Andrei’s assignments
Github: bitdribble/cs231n
- Assignment 1: assignments/2021/assignment1
- knn.ipynb
- svm.ipynb
- softmax.ipynb
- fc_net.py: implementation of fully connected net
- k_nearest_neighbor.py
- linear_classifier.py
- softmax.py
- layers.py implementations for:
affine_forward()
,affine_backward()
relu_forward()
,relu_backward()
softmax_loss()
- layer_utils.py implementations for:
affine_relu_forward()
,affine_relu_backward()
- features.ipynb
- Assignment 2: assignments/2021/assignment2
- FullyConnectedNets.ipynb
- BatchNormalization.ipynb
- Dropout.ipynb
- optim.py: RMSProp, Adam optimizers
- layers.py implementations for:
affine_forward()
,affine_backward()
relu_forward()
,relu_backward()
batchnorm_forward()
,batchnorm_backward()
. The backward pass is a good example of gradient descent in the compute graph.layernorm_forward()
,layernorm_backward()
softmax_loss()
- layer_utils.py implementations for:
affine_relu_forward()
,affine_relu_backward()
affine_bn_relu_forward()
,affine_bn_relu_backward()
affine_ln_relu_forward()
,affine_ln_relu_backward()
dropout_forward()
,dropout_backward()
- fc_net.py: implementation of fully connected net, with support for:
- batch normalization
- layer normalization
- dropout
- Assignment 3: assignments/2021/assignment2
Other forks with solutions:
- jingxinfu/cs231n
- haofeixu/cs231n
- https://www.codeleading.com/article/83371501641/
- https://bywmm.github.io/categories/cs231n/
Resources
- Batch Normalization, gradient descent backward pass:
- Flair of Machine Learning blog: Understanding the backward pass through Batch Normalization Layer, Frederik Kratzert (2016)
- Kevin Zakka’s blog: Deriving the Gradient for the Backward Pass of Batch Normalization (2016)
- Normalization
- Melissa Mozifian: Normalization Techniques - Neural Networks (2018)