mirror of
https://github.com/PKUFlyingPig/cs-self-learning.git
synced 2026-03-20 03:55:41 +08:00
* 添加USTC的图形学课程 * Update mkdocs.yml * Update EECS498-007.md * Update EECS498-007.en.md * Update USTC ComputerGraphic.en.md * Update USTC ComputerGraphic.md * Update USTC ComputerGraphic.md * Update and rename USTC ComputerGraphic.md to USTC ComputerGraphics.md * Update and rename USTC ComputerGraphic.en.md to USTC ComputerGraphics.en.md * Update USTC ComputerGraphics.en.md * Update mkdocs.yml * Update USTC ComputerGraphics.md * Update USTC ComputerGraphics.md
63 lines
4.2 KiB
Markdown
63 lines
4.2 KiB
Markdown
# UMich EECS 498-007 / 598-005: Deep Learning for Computer Vision
|
||
|
||
## Course Introduction
|
||
|
||
- Offered by: UMich
|
||
- Prerequisites: Basic Python, Matrix Theory (familiarity with matrix derivation is sufficient), Calculus
|
||
- Programming Languages: Python
|
||
- Difficulty: 🌟🌟🌟🌟
|
||
- Class Hour: 60 ~ 80 hours
|
||
|
||
The University of Michigan's Computer Vision course is of exceptionally high quality, with its videos and assignments covering an extensive range of topics.
|
||
|
||
The assignments gradually increase in difficulty and cover all stages of mainstream CV model development, making this an excellent introductory course for Computer Vision.
|
||
|
||
In each assignment, you'll build and train models or frameworks mentioned in the lectures, following the provided handouts.
|
||
|
||
You don't need any prior experience with deep learning frameworks.
|
||
|
||
The course will teach you from scratch how to use Pytorch in the early assignments, and it can subsequently serve as a reference book for you.
|
||
|
||
As each assignment deals with different themes, you'll not only gain a first-hand understanding of the development of mainstream CV models through these progressive assignments but also appreciate the impacts of different models and training methods on final performance and accuracy.
|
||
|
||
Moreover, you'll get hands-on experience in implementing them.
|
||
|
||
In Assignment 1 (A1), you'll learn how to use Pytorch and Google Colab.
|
||
|
||
In Assignment 2 (A2), you will build a Linear Classifier and a two-layer neural network. Finally, you'll have the opportunity to work with the MNIST dataset, on which you will train and evaluate your neural network.
|
||
|
||
In Assignment 3 (A3), you'll encounter the classic Convolutional Neural Network (CNN) and experience the power of convolutional neural networks.
|
||
|
||
In Assignment 4 (A4), you'll have the opportunity to build an object detection model from scratch, following the handout to implement a One-Stage Detector and a Two-Stage Detector from two research papers.
|
||
|
||
By Assignment 5 (A5), you'll transition from CNN to RNN. You'll have the opportunity to build two different attention-based models, RNNs (Vanilla RNN & LSTM), and the famous Transformer.
|
||
|
||
In the final assignment (A6), you'll get a chance to implement two more advanced models, VAE and GAN, and apply them to the MNIST dataset. Finally, you'll implement two very cool features: network visualization and style transfer.
|
||
|
||
Beyond the assignments, you can also implement a Mini-Project, building a complete deep learning pipeline. You can refer to the course homepage for specifics.
|
||
|
||
All the resources involved in the course, such as lectures, notes, and assignments, are open source.
|
||
|
||
The only downside is that the Autograder is only available to students enrolled at the University of Michigan.
|
||
|
||
However, given that the correctness of the implementation and the expected results can already be confirmed in the provided *.ipynb (i.e., the Handout), I personally feel that the absence of Autograder doesn't affect the learning process.
|
||
|
||
It's worth mentioning that the main lecturer for this course, Justin Johnson, is a Ph.D. graduate of Fei-Fei Li and currently an Assistant Professor at the University of Michigan.
|
||
|
||
The open-source 2017 version of Stanford's CS231N was taught by Justin Johnson.
|
||
|
||
Because CS231N was mainly developed by Justin Johnson and Andrej Karpathy, this course also adopts some materials from CS231N.
|
||
|
||
Therefore, students who have studied CS231N might find some materials in this course familiar.
|
||
|
||
Lastly, I recommend every student enrolled in this course to watch the lectures on YouTube. Justin Johnson's teaching style and content are very clear and easy to understand, making them a fantastic resource.
|
||
|
||
## Course Resources
|
||
|
||
- Course Website:<https://web.eecs.umich.edu/~justincj/teaching/eecs498/WI2022/>
|
||
- Course Video:<https://www.youtube.com/playlist?list=PL5-TkQAfAZFbzxjBHtzdVCWE0Zbhomg7r>
|
||
- Course Materials: Only recommended textbooks, link: <https://www.deeplearningbook.org/>
|
||
- Coursework:See the course homepage for details, six Assignments and one Mini-Project
|
||
## Personal Resources
|
||
@Michael-Jetson The 200,000 to 300,000 words of notes I have taken (and did not include homework, etc.) can be used as a reference:[Michael-Jetson/ML_DL_CV_with_pytorch](https://github.com/Michael-Jetson/ML_DL_CV_with_pytorch)
|