• Stars
    star
    137
  • Rank 266,121 (Top 6 %)
  • Language
    Jupyter Notebook
  • Created almost 2 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Learning material for CMU10-714: Deep Learning System

CMU10-714: Deep Learning System

This repo contains all the learning materials and homework implementation for the CMU10-714: Deep Learning System course.

Course Overview

Deep learning methods have revolutionized a number of fields in Artificial Intelligence and Machine Learning in recent years. The widespread adoption of deep learning methods have in no small part been driven by the widespread availability of easy-to-use deep learning systems, such as PyTorch and TensorFlow. But despite their widespread availability and use, it is much less common for students to get involved with the internals of these libraries, to understand how they function at a fundamental level. But understanding these libraries deeply will help you make better use of their functionality, and enable you to develop or extend these libraries when needed to fit your own custom use cases in deep learning.

The goal of this course is to provide students an understanding and overview of the “full stack” of deep learning systems, ranging from the high-level modeling design of modern deep learning systems, to the basic implementation of automatic differentiation tools, to the underlying device-level implementation of efficient algorithms. Throughout the course, students will design and build from scratch a complete deep learning library, capable of efficient GPU-based operations, automatic differentiation of all implemented functions, and the necessary modules to support parameterized layers, loss functions, data loaders, and optimizers. Using these tools, students will then build several state-of-the-art modeling methods, including convolutional networks for image classification and segmentation, recurrent networks and self-attention models for sequential tasks such as language modeling, and generative models for image generation.

Course Materials

Final Project

The goal of the final course project is to implement some non-trivial deep learning model or component within the needle framework. The assignment as a whole is fairly open-ended, and many different options are available: you could implement some class of model (requiring functionality beyond what we cover in the homework), some new suite of optimizers, some new functionality within the autodiff framework, or some new backend support for needle.

In our final project, we added Apple M1 chip support to the Needle framework. We passed all the unit tests used in the assignments, compared its performance to the naive CPU backend and trained ResNet on the CIFAR-10 dataset. The implementation is open-sourced here.

Some reference resources:

Want to learn more ?

Check out this repository which contains all my self-learning materials : )

More Repositories

1

cs-self-learning

计算机自学指南
HTML
54,539
star
2

Self-learning-Computer-Science

the resources I use to learn computer science in my spare time
2,961
star
3

CS61A

JavaScript
589
star
4

CS61B

course resources for UCB_CS61B 2018 summer
Java
326
star
5

MIT6.S081-2020fall

MIT undergraduate operating system course
C
295
star
6

CS144-Computer-Network

Learning materials for Stanford Computer Network course : CS144
C++
281
star
7

CS186

Learning materials for UCB CS186: Introduction to Database System
229
star
8

CS61C-summer20

all the course resources of UCB's CS61C course -- Great ideas in computer architecture
C
175
star
9

CS229

Jupyter Notebook
167
star
10

UCB-CS70

discrete mathematics and probability theory
163
star
11

CS106L

CS106L : Standard C++ Programming Course
C++
155
star
12

NandToTetris

all the course resources and my completion for all the projects
Hack
149
star
13

Computer-Network-A-Top-Down-Approach

My learning materials for Computer Networking : A Top Down Approach
Python
138
star
14

CS149-parallel-computing

Learning materials for Stanford CS149 : Parallel Computing
C
122
star
15

MIT6.824

distributed system
Go
109
star
16

Princeton-Algorithm

Java
75
star
17

EECS126

UCB EECS126 : probability theory and random processes.
Jupyter Notebook
64
star
18

UCB-CS170

This repo contains all the learning materials for UC Berkeley's course CS170 : Efficient Algorithms and Intractable Problems
Jupyter Notebook
61
star
19

Standford_CVX101

Stanford convex optimization course
Jupyter Notebook
56
star
20

MIT6.031-software-construction

learning materials and implementation for MIT6.031: software construction problemsets
Java
55
star
21

cs50_ai

cs50 AI course resources
HTML
54
star
22

CS61C-labs

my implementation for the CS61C labs in 2020 summer version
C
51
star
23

CS224n

all the notes, ppts and homework for CS224n
JavaScript
49
star
24

CS169-Software-Engineering

Learning materials for UCB CS169 : software engineering
36
star
25

CS110L

Stanford CS110L: Safety in Systems Programming
Rust
33
star
26

EE16A

UCB EECS16A Designing Information Devices and Systems I
Jupyter Notebook
30
star
27

UCB-EE120

UC Berkeley signal and system course
Jupyter Notebook
30
star
28

pku-cs-self-learning

This repo is deprecated.
27
star
29

CS186-Rookiedb

My implementation for CS186 proj2 - proj5
Java
27
star
30

pku-os-course

Course website for Operating System course in Peking University.
HTML
13
star
31

PKUFlyingPig

my personal repo
12
star
32

UCB-CS161

computer security
Jupyter Notebook
12
star
33

Hadoop_vs_Spark

研究生课《网络大数据管理理论和应用》大作业项目代码
Java
10
star
34

Thesis-Template

Thesis template for undergraduate students at Peking University.
10
star
35

MIT18.330

undergraduate numerical analysis course in MIT
Jupyter Notebook
8
star
36

CS143-compiler

Learning materials for Stanford Compiler course : CS143
Java
6
star
37

MIT6.1600

Learning resources for MIT6.1600: Foundations of Computer Security.
Python
5
star
38

CS186-proj1

Project 1 for CS186: SQL
Python
4
star
39

ArchiveMachine

the backend of the project of Software Engineering
HTML
4
star
40

RISC-V_CPU

UCB-CS61C project3 : RISC-V CPU design
Python
3
star
41

homepage

My homepage
HTML
3
star
42

os-course

website for operating system course at Peking University
HTML
2
star
43

machine-learning-exercises

codes for the exercises of Machine-Learning by ZhouZhihua
Jupyter Notebook
2
star
44

CS179

CS179 : GPU computing
C++
2
star
45

NeuralNetwork-by-RISC-V

implement a simple MNIST classifier by RISC-V
Python
2
star
46

GameOfLife

C implementation of the Game Of Life
C
1
star
47

dotfiles_MacOS

FlyingPig's Dotfiles repository
Shell
1
star
48

CS186-proj6

My implementation for CS186 project 6: NoSQL
Python
1
star