├── .gitignore
├── Gemfile
├── README.md
├── _announcements
├── week-01.md
├── week-02.md
├── week-04.md
├── week-05.md
├── week-06.md
├── week-11.md
├── week-16.md
├── week-18.md
├── week-21.md
├── week-22.md
└── week-24.md
├── _config.yml
├── _includes
├── head_custom.html
└── minutes.liquid
├── _layouts
├── announcement.html
├── minimal.html
├── module.html
├── schedule.html
└── staffer.html
├── _modules
├── part_0.json
├── part_0.md
├── part_1.json
├── part_1.md
├── part_2.json
├── part_2.md
├── part_3.json
├── part_3.md
├── part_4.json
└── part_4.md
├── _sass
├── color_schemes
│ └── d2l.scss
└── custom
│ ├── announcement.scss
│ ├── card.scss
│ ├── custom.scss
│ ├── module.scss
│ ├── schedule.scss
│ └── staffer.scss
├── _staffers
└── mu.md
├── announcements.md
├── assets
├── images
│ ├── logo-with-text.png
│ └── mu.jpg
└── pdfs
│ ├── part-0_1.pdf
│ ├── part-0_2.pdf
│ ├── part-0_3.pdf
│ ├── part-0_4.pdf
│ ├── part-0_5.pdf
│ ├── part-0_6.pdf
│ ├── part-0_7.pdf
│ └── part-0_8.pdf
├── contents.json
├── favicon.ico
├── generate.ipynb
├── index.md
└── upload.sh
/.gitignore:
--------------------------------------------------------------------------------
1 | _site/
2 | .sass-cache/
3 | .jekyll-cache/
4 | .jekyll-metadata
5 | .bundle/
6 | **/.DS_Store
7 | Gemfile.lock
8 | vendor
9 | **/pdfs/
10 | **/notebooks/
11 | *.ipynb_checkpoints/
--------------------------------------------------------------------------------
/Gemfile:
--------------------------------------------------------------------------------
1 | source 'https://rubygems.org'
2 | gem "jekyll"
3 | gem "just-the-docs"
4 | gem "webrick"
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # 《动手学深度学习》v2 课程
2 |
3 | 课程主页:https://courses.d2l.ai/zh-v2/
4 |
5 | 本地编译
6 |
7 | ```bash
8 | bundle install
9 | bundle exec jekyll serve
10 | ```
11 |
12 |
--------------------------------------------------------------------------------
/_announcements/week-01.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 第一周
3 | week: 1
4 | ---
5 |
6 | 第一周视频上传到了B站。根据大家建议,将相关的单元做成了合集。每个视频下面有1到4个分集。可以通过[B站频道](https://space.bilibili.com/1567748478/channel/index)来按序访问,或者按照下面课程安排里的视频连接来访问。此外,因为直播时“按特定轴求和”没有讲得很清楚,直播后补录了一个视频。
--------------------------------------------------------------------------------
/_announcements/week-02.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 第二周
3 | week: 2
4 | ---
5 |
6 | 第二周视频上传到了B站。其中线性回归一节是直播后重录,会跟直播内容有点点区别。请注意下周因为清明直播停一周。
--------------------------------------------------------------------------------
/_announcements/week-04.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 第四周
3 | week: 4
4 | ---
5 |
6 | 第一部分完结。完结福利是第一次课程竞赛,内容为[预测2020加州房价](https://www.kaggle.com/c/california-house-prices/overview)。前5个人(团队)将获得作者签名版《动手学深度学习》第二版。介绍视频请见[B站](https://www.bilibili.com/video/BV1NK4y1P7Tu?p=2)。
--------------------------------------------------------------------------------
/_announcements/week-05.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 第五周
3 | week: 5
4 | ---
5 |
6 | 因为五一长假关系,4月25日、5月1日、和5月2日停课。[课程竞赛](https://www.kaggle.com/c/california-house-prices/overview)截止日期也延期到5月9日直播前1小时。
7 |
--------------------------------------------------------------------------------
/_announcements/week-06.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 第六周
3 | week: 6
4 | ---
5 |
6 | 因为5月8日调休,考虑到单休周大家可能事会比较多,所以这周仍然停课。课程竞赛截止日期不变,仍然是5月9号中午12:00(也就是kaggle上显示时间)。周日会在B站介绍基线automl模型。
7 |
--------------------------------------------------------------------------------
/_announcements/week-11.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 第十一周
3 | week: 11
4 | ---
5 |
6 | 第二部分卷积神经网络完结。录像全部上传到了[B站](https://space.bilibili.com/1567748478/channel/detail?cid=175509)。本部分竞赛为树叶分类,[Kaggle地址](https://www.kaggle.com/c/classify-leaves)
7 |
--------------------------------------------------------------------------------
/_announcements/week-16.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 第十六周
3 | week: 16
4 | ---
5 |
6 | 树叶分类竞赛结束,查看[获胜团队和技术总结](https://www.bilibili.com/video/BV1by4y1K7SE)
7 |
--------------------------------------------------------------------------------
/_announcements/week-18.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 第十八周
3 | week: 18
4 | ---
5 |
6 | 第三部分计算机视觉结束,第三次竞赛为[牛仔行头检测](https://www.bilibili.com/video/BV1F64y1x7xP/)
7 |
--------------------------------------------------------------------------------
/_announcements/week-21.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 第二十一周
3 | week: 21
4 | ---
5 |
6 | 因为出差原因,本周末(7月31日和8月1日)课程直播取消。
7 |
--------------------------------------------------------------------------------
/_announcements/week-22.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 第二十二周
3 | week: 22
4 | ---
5 |
6 | 目标检测竞赛结束。[前十名同学](https://competitions.codalab.org/competitions/33573#results)(lcpdeb,herunyu,signcoda,zZamm,sophiezang,saltFish,snowtyan,nekokiku,dejahu,momo233)如果在8月15日前提交代码到Kaggle,将获得签名赠书。
7 |
--------------------------------------------------------------------------------
/_announcements/week-24.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 第二十四周
3 | week: 24
4 | ---
5 |
6 | 课程结束!谢谢学习。所有视频均上传[B站](https://space.bilibili.com/1567748478/channel/detail?cid=175509)。欢迎观看接下来的课程:[斯坦福2021秋季:实用机器学习](https://c.d2l.ai/stanford-cs329p/)。
7 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | title: "动手学深度学习课程"
2 | theme: just-the-docs
3 | remote_theme: pmarsceill/just-the-docs
4 |
5 | logo: "/assets/images/logo-with-text.png"
6 |
7 | aux_links:
8 | "GitHub":
9 | - "//github.com/mli/course-zh-v2"
10 | aux_links_new_tab: true
11 |
12 | heading_anchors: true
13 |
14 | ga_tracking: UA-96378503-2
15 | ga_tracking_anonymize_ip: true
16 |
17 | color_scheme: d2l
18 |
19 |
20 | tagline: 动手学深度学习在线课程
21 | description: 免费深度学习在线课程
22 | author: 李沐
23 | baseurl: '/zh-v2' # the subpath of your site, e.g. /blog
24 | url: 'https://courses.d2l.ai'
25 | exclude: ["Gemfile", "Gemfile.lock", "LICENSE", "README.md"]
26 |
27 | # Collections for website data
28 | collections:
29 | staffers:
30 | modules:
31 | announcements:
32 |
33 | # Default layouts for each collection type
34 | defaults:
35 | - scope:
36 | path: ''
37 | type: staffers
38 | values:
39 | layout: staffer
40 | subpath: '/assets/images/'
41 | - scope:
42 | path: ''
43 | type: modules
44 | values:
45 | layout: module
46 | subpath: '/assets/pdfs/'
47 | - scope:
48 | path: ''
49 | type: announcements
50 | values:
51 | layout: announcement
52 |
53 | compress_html:
54 | clippings: all
55 | comments: all
56 | endings: all
57 | startings: []
58 | blanklines: false
59 | profile: false
60 |
--------------------------------------------------------------------------------
/_includes/head_custom.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/_includes/minutes.liquid:
--------------------------------------------------------------------------------
1 | {% capture _minutes_workspace %}
2 | {% comment %}
3 | Return the number of minutes between midnight and the given time string (e.g. '9:30 AM').
4 |
5 | Parameters:
6 | `time` (string): the time to convert.
7 | {% endcomment %}
8 |
9 | {% assign _time = include.time %}
10 | {% assign _hhmm = _time | split: ' ' | first | split: ':' %}
11 | {% assign _hours = _hhmm | first | to_integer %}
12 | {% assign _minutes = _hhmm | last | to_integer %}
13 | {% assign _ampm = _time | split: ' ' | last | upcase %}
14 |
15 | {% if _ampm == 'AM' and _hours == 12 %}
16 | {% assign _hours = _hours | minus: 12 %}
17 | {% elsif _ampm == 'PM' and _hours != 12 %}
18 | {% assign _hours = _hours | plus: 12 %}
19 | {% endif %}
20 | {% endcapture %}{% assign _minutes_workspace = '' %}{{ _hours | times: 60 | plus: _minutes }}
21 |
--------------------------------------------------------------------------------
/_layouts/announcement.html:
--------------------------------------------------------------------------------
1 |
20 | {% unless page.url == "/" %}
21 | {% if page.parent %}
22 |
33 | {% endif %}
34 | {% endunless %}
35 |
36 | {% if site.heading_anchors != false %}
37 | {% include vendor/anchor_headings.html html=content beforeHeading="true" anchorBody="" anchorClass="anchor-heading" %}
38 | {% else %}
39 | {{ content }}
40 | {% endif %}
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/_layouts/module.html:
--------------------------------------------------------------------------------
1 |
2 | {% if page.photo %}
3 |

4 | {% endif %}
5 |
6 |
7 | {% if page.website %}
8 | {{ page.name }}
9 | {% else %}
10 | {{ page.name }}
11 | {% endif %}
12 | {% if page.pronouns %}
13 | {{ page.pronouns }}
14 | {% endif %}
15 |
16 | {% if page.email %}
17 |
{{ page.email }}
18 | {% endif %}
19 | {% if page.section %}
20 |
Quiz Section: {{ page.section | markdownify | strip_html }}
21 | {% endif %}
22 | {% if page.office-hours %}
23 |
Office Hours: {{ page.office-hours | markdownify | strip_html }}
24 | {% endif %}
25 | {{ content }}
26 |
27 |
28 |
--------------------------------------------------------------------------------
/_modules/part_0.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "title": "课程安排",
4 | "day_break": true,
5 | "slides": [
6 | "part-01.pdf",
7 | 6
8 | ],
9 | "slides_video": "https://www.bilibili.com/video/BV1oX4y137bC",
10 | "notebook": false,
11 | "notebook_video": "",
12 | "qa_video": ""
13 | },
14 | {
15 | "title": "深度学习介绍",
16 | "day_break": false,
17 | "book": "chapter_introduction/index.html",
18 | "slides": [
19 | "part-01.pdf",
20 | 14
21 | ],
22 | "slides_video": "https://www.bilibili.com/video/BV1J54y187f9",
23 | "notebook_video": ""
24 | },
25 | {
26 | "title": "安装",
27 | "day_break": false,
28 | "book": "chapter_installation/index.html",
29 | "slides": [
30 | "part-01.pdf",
31 | 2
32 | ],
33 | "slides_video": "https://www.bilibili.com/video/BV18p4y1h7Dr",
34 | "qa_video": "https://www.bilibili.com/video/BV18p4y1h7Dr?p=2"
35 | },
36 | {
37 | "title": "数据操作",
38 | "day_break": false,
39 | "book": "chapter_preliminaries/ndarray.html",
40 | "slides": [
41 | "part-01.pdf",
42 | 5
43 | ],
44 | "slides_video": "https://www.bilibili.com/video/BV1CV411Y7i4",
45 | "notebook_video": "https://www.bilibili.com/video/BV1CV411Y7i4?p=2",
46 | "qa_video": "https://www.bilibili.com/video/BV1CV411Y7i4?p=4"
47 | },
48 | {
49 | "title": "数据预处理",
50 | "day_break": false,
51 | "book": "chapter_preliminaries/pandas.html",
52 | "slides": [
53 | "part-01.pdf",
54 | 0
55 | ],
56 | "slides_video": "https://www.bilibili.com/video/BV1CV411Y7i4?p=3",
57 | "notebook_video": "",
58 | "qa_video": ""
59 | },
60 | {
61 | "title": "线性代数",
62 | "day_break": true,
63 | "book": "chapter_preliminaries/linear-algebra.html",
64 | "slides": [
65 | "part-01.pdf",
66 | 14
67 | ],
68 | "slides_video": "https://www.bilibili.com/video/BV1eK4y1U7Qy",
69 | "notebook_video": "https://www.bilibili.com/video/BV1eK4y1U7Qy?p=2",
70 | "qa_video": "https://www.bilibili.com/video/BV1eK4y1U7Qy?p=4"
71 | },
72 | {
73 | "title": "[补充] 按特定轴求和",
74 | "day_break": false,
75 | "slides": [
76 | "part-01.pdf",
77 | 0
78 | ],
79 | "slides_video": "https://www.bilibili.com/video/BV1eK4y1U7Qy?p=3",
80 | "notebook_video": "",
81 | "qa_video": ""
82 | },
83 | {
84 | "title": "矩阵计算",
85 | "day_break": false,
86 | "book": "chapter_preliminaries/calculus.html",
87 | "slides": [
88 | "part-01.pdf",
89 | 10
90 | ],
91 | "notebook": false,
92 | "slides_video": "https://www.bilibili.com/video/BV1eZ4y1w7PY",
93 | "notebook_video": "",
94 | "qa_video": "https://www.bilibili.com/video/BV1eZ4y1w7PY?p=2"
95 | },
96 | {
97 | "title": "自动求导",
98 | "day_break": false,
99 | "book": "chapter_preliminaries/autograd.html",
100 | "slides": [
101 | "part-01.pdf",
102 | 15
103 | ],
104 | "slides_video": "https://www.bilibili.com/video/BV1KA411N7Px",
105 | "notebook_video": "https://www.bilibili.com/video/BV1KA411N7Px?p=2",
106 | "qa_video": "https://www.bilibili.com/video/BV1KA411N7Px?p=3"
107 | },
108 | {
109 | "title": "线性回归",
110 | "day_break": true,
111 | "book": "chapter_linear-networks/linear-regression.html",
112 | "slides": [
113 | "part-01.pdf",
114 | 11
115 | ],
116 | "slides_video": "https://www.bilibili.com/video/BV1PX4y1g7KC",
117 | "notebook_video": "",
118 | "qa_video": ""
119 | },
120 | {
121 | "title": "基础优化方法",
122 | "day_break": false,
123 | "slides": [
124 | "part-01.pdf",
125 | 6
126 | ],
127 | "slides_video": "https://www.bilibili.com/video/BV1PX4y1g7KC?p=2",
128 | "notebook_video": "",
129 | "qa_video": ""
130 | },
131 | {
132 | "title": "线性回归的从零开始实现",
133 | "day_break": false,
134 | "book": "chapter_linear-networks/linear-regression-scratch.html",
135 | "slides": [
136 | "part-0.pdf",
137 | 0
138 | ],
139 | "slides_video": "https://www.bilibili.com/video/BV1PX4y1g7KC?p=3",
140 | "notebook_video": "",
141 | "qa_video": ""
142 | },
143 | {
144 | "title": "线性回归的简洁实现",
145 | "day_break": false,
146 | "book": "chapter_linear-networks/linear-regression-concise.html",
147 | "slides": [
148 | "part-0.pdf",
149 | 0
150 | ],
151 | "slides_video": "https://www.bilibili.com/video/BV1PX4y1g7KC?p=4",
152 | "notebook_video": "",
153 | "qa_video": ""
154 | },
155 | {
156 | "title": "Softmax 回归",
157 | "day_break": true,
158 | "book": "chapter_linear-networks/softmax-regression.html",
159 | "slides": [
160 | "part-01.pdf",
161 | 11
162 | ],
163 | "slides_video": "https://www.bilibili.com/video/BV1K64y1Q7wu",
164 | "notebook_video": "",
165 | "qa_video": ""
166 | },
167 | {
168 | "title": "损失函数",
169 | "day_break": false,
170 | "book": "",
171 | "slides": [
172 | "part-01.pdf",
173 | 7
174 | ],
175 | "slides_video": "https://www.bilibili.com/video/BV1K64y1Q7wu?p=2",
176 | "notebook_video": "",
177 | "qa_video": ""
178 | },
179 | {
180 | "title": "图像分类数据集",
181 | "day_break": false,
182 | "book": "chapter_linear-networks/image-classification-dataset.html",
183 | "slides": [
184 | "part-0.pdf",
185 | 0
186 | ],
187 | "slides_video": "https://www.bilibili.com/video/BV1K64y1Q7wu?p=3",
188 | "notebook_video": "",
189 | "qa_video": ""
190 | },
191 | {
192 | "title": "Softmax 回归的从零开始实现",
193 | "day_break": false,
194 | "book": "chapter_linear-networks/softmax-regression-scratch.html",
195 | "slides": [
196 | "part-0.pdf",
197 | 0
198 | ],
199 | "slides_video": "https://www.bilibili.com/video/BV1K64y1Q7wu?p=4",
200 | "notebook_video": "",
201 | "qa_video": ""
202 | },
203 | {
204 | "title": "Softmax 回归的简洁实现",
205 | "day_break": false,
206 | "book": "chapter_linear-networks/softmax-regression-concise.html",
207 | "slides": [
208 | "part-0.pdf",
209 | 0
210 | ],
211 | "slides_video": "https://www.bilibili.com/video/BV1K64y1Q7wu?p=5",
212 | "notebook_video": "",
213 | "qa_video": ""
214 | },
215 | {
216 | "title": "感知机",
217 | "day_break": true,
218 | "slides": [
219 | "part-01.pdf",
220 | 11
221 | ],
222 | "slides_video": "https://www.bilibili.com/video/BV1hh411U7gn",
223 | "notebook_video": "",
224 | "qa_video": ""
225 | },
226 | {
227 | "title": "多层感知机",
228 | "day_break": false,
229 | "book": "chapter_multilayer-perceptrons/mlp.html",
230 | "slides": [
231 | "part-01.pdf",
232 | 13
233 | ],
234 | "slides_video": "https://www.bilibili.com/video/BV1hh411U7gn?p=2",
235 | "notebook_video": "",
236 | "qa_video": ""
237 | },
238 | {
239 | "title": "多层感知机的从零开始实现",
240 | "day_break": false,
241 | "book": "chapter_multilayer-perceptrons/mlp-scratch.html",
242 | "slides": [
243 | "part-0.pdf",
244 | 0
245 | ],
246 | "slides_video": "https://www.bilibili.com/video/BV1hh411U7gn?p=3",
247 | "notebook_video": "",
248 | "qa_video": ""
249 | },
250 | {
251 | "title": "多层感知机的简洁实现",
252 | "day_break": false,
253 | "book": "chapter_multilayer-perceptrons/mlp-concise.html",
254 | "slides": [
255 | "part-0.pdf",
256 | 0
257 | ],
258 | "slides_video": "https://www.bilibili.com/video/BV1hh411U7gn?p=3",
259 | "notebook_video": "",
260 | "qa_video": ""
261 | },
262 | {
263 | "title": "模型选择",
264 | "day_break": true,
265 | "book": "",
266 | "slides": [
267 | "part-01.pdf",
268 | 7
269 | ],
270 | "slides_video": "https://www.bilibili.com/video/BV1kX4y1g7jp",
271 | "notebook_video": "",
272 | "qa_video": ""
273 | },
274 | {
275 | "title": "欠拟合和过拟合",
276 | "day_break": false,
277 | "book": "chapter_multilayer-perceptrons/underfit-overfit.html",
278 | "slides": [
279 | "part-01.pdf",
280 | 10
281 | ],
282 | "slides_video": "https://www.bilibili.com/video/BV1kX4y1g7jp?p=2",
283 | "notebook_video": "",
284 | "qa_video": ""
285 | },
286 | {
287 | "title": "权重衰减",
288 | "day_break": true,
289 | "book": "chapter_multilayer-perceptrons/weight-decay.html",
290 | "slides": [
291 | "part-01.pdf",
292 | 6
293 | ],
294 | "slides_video": "https://www.bilibili.com/video/BV1UK4y1o7dy",
295 | "notebook_video": "",
296 | "qa_video": ""
297 | },
298 | {
299 | "title": "Dropout",
300 | "day_break": false,
301 | "book": "chapter_multilayer-perceptrons/dropout.html",
302 | "slides": [
303 | "part-01.pdf",
304 | 6
305 | ],
306 | "slides_video": "https://www.bilibili.com/video/BV1Y5411c7aY",
307 | "notebook_video": "",
308 | "qa_video": ""
309 | },
310 | {
311 | "title": "数值稳定性",
312 | "day_break": true,
313 | "book": "chapter_multilayer-perceptrons/numerical-stability-and-init.html",
314 | "slides": [
315 | "part-01.pdf",
316 | 10
317 | ],
318 | "slides_video": "https://www.bilibili.com/video/BV1u64y1i75a",
319 | "notebook_video": "",
320 | "qa_video": ""
321 | },
322 | {
323 | "title": "模型初始化和激活函数",
324 | "day_break": false,
325 | "slides": [
326 | "part-01.pdf",
327 | 12
328 | ],
329 | "slides_video": "https://www.bilibili.com/video/BV1u64y1i75a?p=2",
330 | "notebook_video": "",
331 | "qa_video": ""
332 | },
333 | {
334 | "title": "实战 Kaggle 比赛:预测房价",
335 | "day_break": false,
336 | "book": "chapter_multilayer-perceptrons/kaggle-house-price.html",
337 | "slides": [
338 | "part-0.pdf",
339 | 0
340 | ],
341 | "slides_video": "https://www.bilibili.com/video/BV1NK4y1P7Tu",
342 | "notebook_video": "",
343 | "qa_video": ""
344 | },
345 | {
346 | "title": "**竞赛**{: .label } 预测房价",
347 | "day_break": false,
348 | "book": "",
349 | "slides": [
350 | "part-01.pdf",
351 | 2
352 | ],
353 | "slides_video": "https://www.bilibili.com/video/BV1NK4y1P7Tu?p=2",
354 | "notebook_video": "",
355 | "qa_video": ""
356 | }
357 | ]
--------------------------------------------------------------------------------
/_modules/part_0.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: 深度学习基础
3 | ---
4 |
5 | 3月20日
6 |
7 | : 课程安排
8 | :
9 | : [