OliverGrace / Deep-Learning-Computer-Vision

Personal implementation for Stanford CS231n / Umich: Deep Learning for Computer Vision (by Justin Johnson)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

1. PyTorch & KNN

The goals of this assignment are as follows:

  • Develop proficiency with PyTorch tensors
  • Gain experience using notebooks on Google Colab
  • Understand the basic Image Classification pipeline and the data-driven approach (train/predict stages)
  • Understand the train/val/test splits and the use of validation data for hyperparameter tuning
  • Implement and apply a k-Nearest Neighbor (kNN) classifier

Notebooks:

pytorch101.ipynb

kNN.ipynb

2. SVM & Neural Network

The goals of this assignment are as follows:

  • Implement and apply a Multiclass Support Vector Machine (SVM) classifier
  • Implement and apply a Two layer neural network classifier
  • Understand the differences and tradeoffs between these classifiers
  • Practice implementing vectorized gradient code by checking against naive implementations, and using numeric gradient checking

Notebooks:

linear_classifier.ipynb

two_layer_net.ipynb

3. Backpropagation & BN &Dropout

The goals of this assignment are as follows:

  • Understand Neural Networks and how they are arranged in layered architectures
  • Understand and be able to implement modular backpropagation
  • Implement various update rules used to optimize Neural Networks
  • Implement Batch Normalization for training deep networks
  • Implement Dropout to regularize networks
  • Understand the architecture of Convolutional Neural Networks and get practice with training these models on data

Notebooks:

fully_connected_networks.ipynb

convolutional_networks.ipynb

4. PyTorch Modules & RNN & Image Captioning & Attention & Style Transfer

The goals of this assignment are:

  • Understand how autograd can help automate gradient computation
  • See how to use PyTorch Modules to build up complex neural network architectures
  • Understand and implement recurrent neural networks
  • See how recurrent neural networks can be used for image captioning
  • Understand how to augment recurrent neural networks with attention
  • Use image gradients to synthesize saliency maps, adversarial examples, and perform class visualizations
  • Combine content and style losses to perform artistic style transfer

Notebooks:

pytorch_autograd_and_nn.ipynb

rnn_lstm_attention_captioning.ipynb

network_visualization.ipynb

style_transfer.ipynb

5. Single/Two Stage Object Detection

The goals of this assignment are:

  • Learn about the object detection pipeline
  • Understand how to build an anchor-based single-stage object detectors
  • Understand how to build a two-stage object detector that combines a region proposal network with a recognition network

Notebooks:

single_stage_detector_yolo.ipynb

two_stage_detector_faster_rcnn.ipynb

6. Generative Adversarial Networks (GANs)

The goals of this assignment are:

  • Understand Generative Adversarial Networks (GANs)
  • Implement Vanila GAN, LS-GAN, DC-GAN

Notebooks:

generative_adversarial_networks.ipynb

Reference:

EECS 498-007 / 598-005 Deep Learning for Computer Vision Fall 2019

About

Personal implementation for Stanford CS231n / Umich: Deep Learning for Computer Vision (by Justin Johnson)


Languages

Language:Jupyter Notebook 100.0%