Dive-into-DL-PyTorch
将《动手学深度学习》MXNet 代码迁移为 PyTorch 的中文开源教材,19.4k Stars
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
将《动手学深度学习》MXNet 代码迁移为 PyTorch 的中文开源教材,19.4k Stars
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:本书封面——《动手学深度学习》PyTorch版
故事要从 2019 年说起。彼时,亚马逊上海研究院研究员、卡内基梅隆大学博士李沐等人撰写的中文开源教材《动手学深度学习》正在 GitHub 上迅速走红。这本书以"代码即公式"的理念,将数学推导、PyTorch/MXNet 实现与直觉解释融为一体,成为中文互联网最受欢迎的深度学习入门教材。
然而,原书所有代码基于 MXNet 框架实现。对于中国开发者而言,MXNet 的社区活跃度和框架成熟度远不如 PyTorch——后者在 2019 年已成为最流行的深度学习框架。一个浙江大学的在读硕士研究生敏锐地察觉到了这个痛点:他叫唐书穗(ShusenTang),决定将整本书的代码从 MXNet 迁移到 PyTorch,并配套编写完整的中文文档。
这个项目的 GitHub 仓库如今已斩获 19,388 颗 Stars,位列全球前 3% 开源项目,影响了数十万深度学习学习者。
如果把深度学习比作开车,那么传统教科书相当于"给你一本发动机原理手册再让你上车"。而《动手学深度学习》PyTorch 版则像一位耐心的教练——左手是理论,右手是代码,两者始终对齐。
你可以把本项目理解为:一份针对 PyTorch 框架的中文深度学习驾照考试教材,配有全套模拟题(Notebook)和交通规则详解(文档)。
图2:CNN 实战示例——猫狗图像分类任务示意
项目内容严格对齐原书,涵盖以下 10 个章节:
第 1 章 深度学习简介:建立宏观认知,理解什么是深度学习、它能做什么。
第 2 章 预备知识:Python 基础、PyTorch 张量(Tensor)操作、自动求梯度(autograd)机制。这一章是整本书的地基。
第 3 章 深度学习基础:线性回归、Softmax 回归、多层感知机(MLP)。每个知识点都给出「从零实现」和「PyTorch 简洁实现」两个版本——前者帮助理解原理,后者展示工业用法。
第 4 章 深度学习计算:模型构造、参数管理、自定义层、GPU 加速。这是进入实战的桥梁章节。
第 5 章 卷积神经网络(CNN):二维卷积、填充/步幅、多通道、池化层,以及 LeNet、AlexNet、VGG、GoogLeNet、ResNet 等经典 CNN 架构的 PyTorch 实现。
第 6 章 循环神经网络(RNN):序列建模、语言模型、RNN 实现、LSTM 和 GRU 的原理与代码。
第 7 章 优化算法:SGD、Momentum、Adagrad、RMSProp、Adam 等主流优化器的原理对比与 PyTorch 实现。
第 8 章 计算性能:多 GPU 训练、混合精度、分布式训练等进阶内容。
第 9 章 计算机视觉:目标检测(RCNN 系列)、语义分割(FPN 等),以及特征图可视化和迁移学习实战。
第 10 章 自然语言处理:词嵌入(Word2Vec)、Seq2Seq、注意力机制(Attention),以及 BERT 等预训练模型的入门介绍。
图3:书籍目录概览——10 大章节覆盖深度学习全领域
本项目的技术架构极为简洁,却极其高效:
docker build -t d2dl . && docker run -dp 3000:3000 d2dl 启动本地文档服务。文档与代码一一对应,每个知识点都有「原理说明 → 数学公式 → 从零实现 → PyTorch 简洁实现」四步走。这种编排方式让学生既能理解底层逻辑,又能看到工业级代码长什么样。
本项目的目标人群是「有一点 Python 基础和线性代数基础的学习者」,不要求任何机器学习背景。官方提供三种阅读方式:
docsify serve docs 即可在 localhost:3000 实时预览。适合想离线阅读或修改文档的用户。docker run 搞定所有环境,完全不污染本地系统。所有 Jupyter Notebook 代码均可在 Google Colab 中直接打开运行,GPU 环境由 Google 免费提供,降低了硬件门槛。
必须客观指出本项目的几个局限性:
torch.compile()、FlashAttention 等新特性未涵盖。本项目代表了中文开源社区的一种重要模式:框架迁移型学习资源。当一个主流框架(MXNet)被另一个框架(PyTorch)超越时,社区自发组织翻译工作,让学习者能够使用更流行的工具学习相同的知识。
截至目前,项目 Star 增长曲线平稳,表明深度学习入门教育需求持续旺盛。随着 PyTorch 在学术和工业界的统治地位进一步巩固,这类 PyTorch 版教材的需求只会越来越大。
对于 AI 开发者而言,本项目既是入门教材,也是查阅 PyTorch API 用法的参考手册;对于 AI 爱好者,它是理解深度学习原理的最佳起点之一。