Giter Club home page Giter Club logo

eecs-498.008's Introduction

📊EECS 498-007 / 598-005: Deep Learning for Computer Vision

course homepage

📋Course Description

This course is a deep dive into details of neural-network based deep learning methods for computer vision. During this course, students will learn to implement, train and debug their own neural networks and gain a detailed understanding of cutting-edge research in computer vision. We will cover learning algorithms, neural network architectures, and practical engineering tricks for training and fine-tuning networks for visual recognition tasks. (quote from the course website)

The instructor is Justin Johnson. He received his PhD from Stanford, advised by Fei-Fei Li.

🏫Course Resources

The course resources can be found on the course website including

  • lecture videos (fa2019 only, on Youtube)
  • lecture notes (from CS231n@Stanford and related blogs)
  • 6 assignments (can be downloaded freely and can be done on your own PC through Google Colab)

No autograder is provided though, but the correctness of completed assignment can be observed directly (like neural nets' accuracy etc.), charm of computer science...

😏Assignment 1

Pytorch 101

The first task consists of getting yourself familiar with Pytorch operations, mostly the manipulations on torch tensors. Very fundamental to future assignments, never miss it!

k-Nearest Neighbor classifier

In this task you will implement a very naive classifier--KNN (wiki) to be used on CIFAR-10 dataset. It's our very first step towards computer vision!

My implementations can be found here: pytorch101.py, knn.py

😳Assignment 2

Linear Classifiers

In this task you will implement a linear classifier (wiki) to be used on CIFAR-10 dataset. You will encounter 2 different types: SVM and Softmax, computing the loss, gradients both using naive loops and taking advantage of accelerated tensor operations. And of course you can train your classifiers!

Two-layer Neural Network

In this task you will get a taste of so-called neural networks by implementing it yourself! You will get a feeling of how those fancy neurons in neural net diagram are represented by matrix operations during your implementation! You can also tune hyperparameters like learning rate or layer size to find your best model. This is a step further from linear classifier.

My implementations can be found here: linear_classifier.py, two_layer_net.py

😦Assignment 3

Fully-Connected Neural Network

In this task you will implement modular API like forwad and backward. These module will help you to build deeper and fancier neural nets using basic blocks. Upon implementing your deep neural net, you can construct it, tune it and try different FC neural nets on dataset. You will also implement most commonly used optimizers like sgd with momentum, adam etc.

Convolutional Neural Network

In this task you will implement the famous CNN (wiki)! You will construct a deep CNN step by step from conv layer, pooling layer, kaiming initialization, batch normalization to a working CNN. Very exciting to tune your neural net!

My implementation can be found here: fully_connected_networks.py, convolutional_networks.py

eecs-498.008's People

Contributors

danieldaniel2201 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.