This repository contains my solutions to the assignments of the CS231n course offered by Stanford University (Spring 2024).
Find course notes and assignments here and be sure to check out the video lectures for Winter 2016 and Spring 2017!
These assignments were completed using Numpy and PyTorch.
- Q1: k-Nearest Neighbor classifier. (Completed)
- Q2: Training a Support Vector Machine. (Completed)
- Q3: Implement a Softmax classifier. (Completed)
- Q4: Two-Layer Neural Network. (Completed)
- Q5: Higher Level Representations: Image Features. (Completed)
- Q1: Multi-Layer Fully Connected Neural Network. (Completed)
- Q2: Batch Normalization. (Completed)
- Q3: Dropout. (Completed)
- Q4: Convolutional Neural Networks. (Completed)
- Q5: PyTorch on CIFAR-10. (Completed)
Note: In the open-ended challenge of Assignment 2, l implemented an amateur version of ResNet18 from scratch in PyTorch.
- Q1: Image Captioning with Vanilla RNNs. (Completed)
- Q2: Image Captioning with Transformers. (Completed)
- Q3: Generative Adversarial Networks. (Completed)
- Q4: Self-Supervised Learning for Image Classification. (Completed)
- Q5: Extra Credit: Image Captioning with LSTMs. (Completed)
All the code in this repository was written entirely by me. However, some of the answers to inline questions were inspired by solutions from a different repository on GitHub (mantasu). I reviewed these answers to ensure the accuracy and completeness of my own work.