The IPython Notebook knn.ipynb will walk you through implementing the kNN classifier.
The IPython Notebook svm.ipynb will walk you through implementing the SVM classifier.
The IPython Notebook softmax.ipynb will walk you through implementing the Softmax classifier.
The IPython Notebook two_layer_net.ipynb will walk you through the implementation of a two-layer neural network classifier.
The IPython Notebook features.ipynb will walk you through this exercise, in which you will examine the improvements gained by using higher-level representations as opposed to using raw pixel values.
The IPython notebook FullyConnectedNets.ipynb
will introduce you to our
modular layer design, and then use those layers to implement fully-connected
networks of arbitrary depth. To optimize these models you will implement several
popular update rules.
In the IPython notebook BatchNormalization.ipynb
you will implement batch
normalization, and use it to train deep fully-connected networks.
The IPython notebook Dropout.ipynb
will help you implement Dropout and explore
its effects on model generalization.
In the IPython Notebook ConvolutionalNetworks.ipynb
you will implement several new layers that are commonly used in convolutional networks.
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.
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.
The Jupyter notebook RNN_Captioning.ipynb
will walk you through the
implementation of an image captioning system on MS-COCO using vanilla recurrent
networks.
The Jupyter notebook LSTM_Captioning.ipynb
will walk you through the
implementation of Long-Short Term Memory (LSTM) RNNs, and apply them to image
captioning on MS-COCO.
The Jupyter notebooks NetworkVisualization-TensorFlow.ipynb
/NetworkVisualization-PyTorch.ipynb
will introduce the pretrained SqueezeNet model, compute gradients
with respect to images, and use them to produce saliency maps and fooling
images. Please complete only one of the notebooks (TensorFlow or PyTorch). No extra credit will be awardeded if you complete both notebooks.
In the Jupyter notebooks StyleTransfer-TensorFlow.ipynb
/StyleTransfer-PyTorch.ipynb
you will learn how to create images with the content of one image but the style of another. Please complete only one of the notebooks (TensorFlow or PyTorch). No extra credit will be awardeded if you complete both notebooks.
In the Jupyter notebooks GANS-TensorFlow.ipynb
/GANS-PyTorch.ipynb
you will learn how to generate images that match a training dataset, and use these models to improve classifier performance when training on a large amount of unlabeled data and a small amount of labeled data. Please complete only one of the notebooks (TensorFlow or PyTorch). No extra credit will be awarded if you complete both notebooks.