d2l-zh
中文深度学习入门教材,手脑一体式学习,全球500+高校选用
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
中文深度学习入门教材,手脑一体式学习,全球500+高校选用
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:D2L 被全球 70+ 国家 500+ 大学用于教学(来源:D2L.ai 官网)
想象一下这样的场景:2020 年深夜,一间摆满 GPU 服务器的实验室里,几个年轻人正围着屏幕,逐行核对英文术语和中文表达——attention mechanism 应该翻译成注意力机制还是注意机制?transformer 是 Transformer 还是变换器?这不是普通的翻译工作,而是一场持续数年、涉及数十万行代码、数百个 Jupyter Notebook 的开源马拉松。
这个项目的名字叫《动手学深度学习》中文版(d2l-zh)。英文原版由亚马逊资深科学家 Alex Smola、UC 伯克利教授 Zack Lipton、Mu Li 等人编写,2020 年由 Aston Zhang 主导翻译成中文,至今已迭代至第二版,成为中国 AI 教育领域最具影响力的开源教材。
D2L 的诞生源于一个朴素的教育信念:理解深度学习的最佳方法是学以致用。 这不是一句口号,而是贯穿全书的设计哲学。传统深度学习教材分两类:要么全是数学公式推导,读者看完不知道代码怎么写;要么全是调 API 教程,读者只会复制粘贴,不知道原理是什么。D2L 开创了第三种——数学原理与 PyTorch/MXNet/TensorFlow 实现一一对应,读者在 Jupyter Notebook 里敲下的每一行代码,都能立即看到数学公式的实际效果。
这种手脑一体的学习模式迅速得到了学术界的认可。斯坦福大学、MIT、清华大学、北京大学等全球 500 多所顶尖高校将 D2L 作为本科或研究生课程的指定教材。更令人意外的是,连 NVIDIA CEO 黄仁勋也在公开场合推荐了这本书,他在访谈中表示:一本优秀的深度学习教材,值得任何想了解深度学习何以引爆人工智能革命的人关注。这句话被印在书封面上,成为本书最具分量的背书之一。
d2l-zh 的代码仓库远不止 Markdown 文件。从技术架构看,这是一个由三部分构成的完整教育技术(EdTech)系统:
1. d2l 核心工具包
d2l/ 目录下包含四个框架适配文件:torch.py、mxnet.py、tensorflow.py 和 paddle.py,分别对应 PyTorch、Apache MXNet、TensorFlow 和飞桨四大深度学习框架。这意味着读者可以在任意主流框架下运行书中所有代码——初学者从 PyTorch 入门,有经验的工程师切到 TensorFlow 继续深造,工具包无缝衔接。
d2l 工具包封装了数据下载(DATA_HUB)、模型构建工具、可视化助手(与 Matplotlib 深度集成)等通用功能,让读者专注于学习算法本身,而非重复造轮子。
2. Jupyter Notebook 交互式内容
全书 14 个章节、200+ 个 Notebook,每个都精心设计,从环境配置(chapter_installation/)开始,涵盖线性神经网络、多层感知机、卷积神经网络、循环神经网络、注意力机制等核心主题。每个 Notebook 包含:代码示例 -> 运行结果 -> 数学推导 -> 练习题,形成完整的学习闭环。
3. 多格式出版管线
仓库中包含完整的 HTML/PDF 编译管线(Makefile + Sphinx + Jupyter Book),支持从同一套 Markdown + Notebook 源码自动生成:在线网页版(zh.d2l.ai)、PDF 电子书、课程幻灯片。这套管线本身就是一个高质量的开源项目,对于想做教育产品的开发者极具参考价值。
D2L 支持的四大框架不只是「能运行」,而是经过严格对齐的等效实现。同一个算法的 PyTorch 版本和 TensorFlow 版本在数值结果上高度一致(允许浮点误差),这需要大量的人工校验工作。这种框架中立性背后反映的是 D2L 团队的一个核心观点:深度学习初学者不应该被框架选择所困扰,框架是工具,算法原理才是核心。
在 2024 年的今天,PyTorch 已成为绝对主流,但 D2L 保留对 MXNet 和 TensorFlow 的支持,反映了其历史完整性。对于今天的读者而言,PyTorch 是最佳起点,但对于企业用户和研究者,D2L 的框架中立性仍具有独特价值。
对于普通读者,d2l-zh 的上手体验非常友好。只需安装 Miniconda + Python 3.9,创建虚拟环境,通过 pip install d2l 即可获得完整的 d2l 工具包。深度学习框架(PyTorch 等)可选安装——前几章用 CPU 足够流畅,后续 CNN/RNN 章节有 GPU 体验会好很多。
对于开发者,想贡献内容或本地构建 HTML/PDF 版本的门槛略高:需要 LaTeX 环境(xelatex + 思源字体)、Jupyter Book 构建工具链、以及 20 分钟的首次编译时间。但项目 README 提供了详细的构建文档,有经验的开发者通常能在 1 小时内完成全部环境配置。
需要注意的是:该项目没有提供 Docker 或 docker-compose 一键部署方案,也没有 Web 界面。对于希望快速体验的用户,需要本地配置 Python 环境——这是该项目最明显的部署短板。对于企业场景,建议通过 conda 环境管理实现可复现的团队部署。
D2L 绝非完美。最常被提及的批评是:内容更新速度跟不上框架迭代。PyTorch 2.0 引入的 torch.compile()、Flash Attention、PEFT 等新特性在第二版(2023 年)中只有有限覆盖,学习者需要额外查阅官方文档。
其次,作为一个翻译项目,中文版的翻译质量偶有参差。部分专业术语和长句结构保留了英文原版风格,对部分中文读者不够友好。这并非翻译者能力问题,而是中英文学术写作习惯差异的客观体现。
最后,对于零编程基础的读者,Python 环境配置仍是一道隐性门槛。尽管 conda 已经大幅简化,但 Windows 用户、Mac M 系列芯片用户在不同框架 GPU 版本安装上仍可能遇到兼容性问题。
d2l-zh 的真正意义不在于技术,而在于它证明了一个观点:优质教育内容是可以免费、开放、持续迭代的。 500 多所全球高校用它教学、GitHub 7.7 万 Stars、持续 5 年以上的活跃维护——这些数字背后是整个中文 AI 社区对一个共同教育目标的持续投入。
对于今天的 AI 学习者,D2L 仍然是入门深度学习的最佳路径之一。它教会读者的不只是「怎么用 PyTorch 搭网络」,而是「深度学习为什么这样设计」——这种思维方式的建立,才是应对 AI 快速迭代的终极武器。
图2:D2L 项目官方 Logo
项目基本信息