Files
mrdbourke--pytorch-deep-lea…/README.md
T
wehub-resource-sync 73467dac83
make_docs / deploy (push) Has been cancelled
docs: make Chinese README the default
2026-07-13 10:39:06 +00:00

24 KiB
Raw Blame History

Note

本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
English · 原始项目 · 上游 README
原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。

学习 PyTorch 深度学习

欢迎来到 Zero to Mastery Learn PyTorch for Deep Learning 课程,——互联网上学习 PyTorch 的第二好去处(第一好是 PyTorch 文档).

  • 2023 年 4 月更新: 全新的 PyTorch 2.0 教程 已上线!由于 PyTorch 2.0 是增量式(新功能)且向后兼容的发布,所有先前的课程材料在 PyTorch 2.0 下仍然可用。

本页目录

课程材料/大纲

章节 涵盖内容 练习与课外拓展 幻灯片
00 - PyTorch 基础 深度学习和神经网络中常用的诸多基础 PyTorch 操作。 前往练习与课外拓展 前往幻灯片
01 - PyTorch 工作流 提供用 PyTorch 解决深度学习问题并构建神经网络的思路大纲。 前往练习与课外拓展 前往幻灯片
02 - PyTorch 神经网络分类 运用第 01 章的 PyTorch 工作流,完成一个神经网络分类问题。 前往练习与课外拓展 前往幻灯片
03 - PyTorch 计算机视觉 看看如何沿用第 01、02 章的工作流,用 PyTorch 解决计算机视觉问题。 前往练习与课外拓展 前往幻灯片
04 - PyTorch 自定义数据集 如何将自定义数据集加载到 PyTorch 中?本 notebook 还会为模块化代码(第 05 章介绍)打下基础。 前往练习与课外拓展 前往幻灯片
05 - PyTorch 模块化 PyTorch 的设计注重模块化;让我们把已创建的内容整理成一系列 Python 脚本(这也是你在实际项目中常见的 PyTorch 代码组织方式)。 前往练习与课外拓展 前往幻灯片
06 - PyTorch 迁移学习 选取一个表现优异的预训练模型,并针对我们自己的问题进行调整。 前往练习与课外拓展 前往幻灯片
07 - 里程碑项目 1PyTorch 实验追踪 我们已经构建了不少模型……要是能追踪它们各自的进展该多好? 前往练习与课外拓展 前往幻灯片
08 - 里程碑项目 2PyTorch 论文复现 PyTorch 是机器学习研究领域最流行的深度学习框架;让我们通过复现一篇机器学习论文来一探究竟。 前往练习与课外拓展 前往幻灯片
09 - 里程碑项目 3:模型部署 我们已经有了一个可运行的 PyTorch 模型……如何把它交到他人手中?提示:部署到互联网上。 前往练习与课外拓展 前往幻灯片
PyTorch 额外资源 本课程涵盖大量 PyTorch 与深度学习内容,但机器学习领域十分广阔;此处收录了推荐书籍与资源,涵盖:PyTorch 与深度学习、ML 工程、NLP(自然语言处理)、时间序列数据、数据集获取途径等。 - -
PyTorch 速查表 快速概览 PyTorch 的部分主要特性,并提供课程内及 PyTorch 文档中更多资源的链接。 - -
PyTorch 2.0 快速教程 对 PyTorch 2.0 的超快快快快快入门介绍:有哪些新内容、如何开始,以及进一步学习的资源。 - -

状态

所有材料均已完成,视频已在 Zero to Mastery 发布!

请参阅项目页面上的进行中看板 - https://github.com/users/mrdbourke/projects/1

  • 视频总数: 321
  • 已完成骨架代码: 00、01、02、03、04、05、06、07、08、09
  • 已完成注释(文本): 00、01、02、03、04、05、06、07、08、09
  • 已完成配图: 00、01、02、03、04、05、06、07、08、09
  • 已完成主题演讲: 00、01、02、03、04、05、06、07、08、09
  • 已完成练习与解答: 00、01、02、03、04、05、06、07、08、09

请参阅日志 获取几乎每日更新的内容。

关于本课程

本课程适合谁?

你: 是机器学习或深度学习领域的初学者,希望学习 PyTorch。

本课程: 以动手实践、代码优先的方式,教你 PyTorch 以及许多机器学习(machine learning)概念。

如果你已有 1 年以上机器学习经验,本课程仍可能有帮助,但它专为初学者友好而设计。

先修要求是什么?

  1. 36 个月 Python 编程经验。
  2. 至少一门机器学习入门课程(不过这一步或许可以跳过,文中为许多不同主题提供了资源链接)。
  3. 有使用 Jupyter Notebooks 或 Google Colab 的经验(当然你也可以边学边掌握)。
  4. 愿意学习(最重要)。

对于第 1 和第 2 点,我推荐 Zero to Mastery Data Science and Machine Learning Bootcamp, 它会教你机器学习和 Python 的基础知识(不过我有私心,我也教那门课)。

课程如何讲授?

所有课程材料均可免费在线阅读,见 learnpytorch.io. 如果你喜欢阅读,我建议你通读那里的资源。

如果你更喜欢通过视频学习,本课程也采用学徒式(apprenticeship-style)授课:我写 PyTorch 代码,你也写 PyTorch 代码。

课程座右铭里有两句很有道理:如有疑问,就运行代码if in doubt, run the code),以及 实验、实验、再实验!experiment, experiment, experiment!)。

我的全部目标就是帮你做好一件事:通过编写 PyTorch 代码来学习机器学习。

所有代码都通过 Google Colab Notebooks 编写(你也可以使用 Jupyter Notebooks),这是一个用于实验机器学习的绝佳免费资源。

完成课程后我能得到什么?

如果你跟着视频学习,会有证书之类的东西。

但证书也就那样。

你可以把本课程看作一个机器学习动量(momentum)构建器。

到课程结束时,你将编写数百行 PyTorch 代码。

并接触到机器学习中许多最重要的概念。

因此,当你去构建自己的机器学习项目,或查看用 PyTorch 制作的公开机器学习项目时,你会觉得熟悉;即便不熟悉,至少你也知道该去哪里查找。

课程里我会构建什么?

我们从 PyTorch 和机器学习最基础的内容开始,因此即使你刚接触机器学习,也能快速跟上进度。

然后我们会探索更高级的领域,包括 PyTorch 神经网络分类、PyTorch 工作流、计算机视觉(computer vision)、自定义数据集、实验跟踪、模型部署,以及我个人最喜欢的:迁移学习(transfer learning)——一种强大技术,可把某个机器学习模型在另一问题上所学到的知识,应用到你自己的问题上!

在此过程中,你将围绕一个名为 FoodVision 的总项目完成三个里程碑项目:FoodVision 是一个用于对食物图像进行分类的神经网络计算机视觉模型。

这些里程碑项目将帮助你练习使用 PyTorch 覆盖重要的机器学习概念,并打造一份可以向雇主展示的作品集,说“这就是我做过的东西”。

如何开始?

你可以在任何设备上阅读材料,但本课程最好在桌面浏览器中观看并跟着编码。

课程使用名为 Google Colab 的免费工具。如果你完全没有使用经验,建议先学习免费的 Introduction to Google Colab tutorial 然后再回到这里。

开始步骤:

  1. 点击上方某个 notebook 或章节链接,例如“00. PyTorch Fundamentals”。
  2. 点击顶部的“Open in Colab”按钮。
  3. 按几次 SHIFT+Enter,看看会发生什么。

我的问题没有得到解答

请留下一条 discussion 或直接给我发邮件:daniel (at) mrdbourke (dot) com。

日志

几乎每天都会更新进展。

  • 15 May 2023 - PyTorch 2.0 教程完成 + 视频已添加到 ZTM/Udemy,见代码:https://www.learnpytorch.io/pytorch_2_intro/
  • 13 Apr 2023 - 更新 PyTorch 2.0 notebook
  • 30 Mar 2023 - 更新 PyTorch 2.0 notebook,补充更多信息/清理代码
  • 23 Mar 2023 - 升级 PyTorch 2.0 教程,添加注释和图片
  • 13 Mar 2023 - 为 PyTorch 2.0 教程添加入门代码
  • 18 Nov 2022 - 添加 PyTorch 3 个最常见错误的参考 + 更多课程章节链接:https://www.learnpytorch.io/pytorch_most_common_errors/
  • 9 Nov 2022 - 添加 PyTorch cheatsheet,快速概览 PyTorch 主要特性 + 课程章节链接:https://www.learnpytorch.io/pytorch_cheatsheet/
  • 9 Nov 2022 - 完整课程材料(300+ 个视频)现已在 Udemy 上线!可在此注册:https://www.udemy.com/course/pytorch-for-deep-learning/?couponCode=ZTMGOODIES7(上线优惠码自本条起 34 天内有效)
  • 4 Nov 2022 - 在 extras/ 中添加 PyTorch Cheatsheet 的 notebook(简要概览 PyTorch 许多最重要功能)
  • 2 Oct 2022 - 第 08 和 09 节的所有视频已发布(最后两节 100+ 个视频)!
  • 30 Aug 2022 - 为 09 录制 15 个视频,视频总数:321,第 09 节视频完成!!!……甚至比 08 还大!!
  • 29 Aug 2022 - 为 09 录制 16 个视频,视频总数:306
  • 28 Aug 2022 - 为 09 录制 11 个视频,视频总数:290
  • 27 Aug 2022 - 为 09 录制 16 个视频,视频总数:279
  • 26 Aug 2022 - 为 notebook 09 做收尾,添加 09 的 slides,创建 09 的 solutions 和 exercises
  • 25 Aug 2022 - 为 09 添加注释并清理,移除 TK's,清理图片,制作 09 的 slides
  • 24 Aug 2022 - 为 09 添加注释,main takeaways、exercises 和 extra-curriculum 完成
  • 23 Aug 2022 - 为 09 添加注释,添加大量图片/slides
  • 22 Aug 2022 - 为 09 添加注释,开始制作 slides/图片
  • 20 Aug 2022 - 为 09 添加注释
  • 19 Aug 2022 - 为 09 添加注释,看看这些很棒的 demos!
  • 18 Aug 2022 - 为 09 添加注释
  • 17 Aug 2022 - 为 09 添加注释
  • 16 Aug 2022 - 为 09 添加注释
  • 15 Aug 2022 - 为 09 添加注释
  • 13 Aug 2022 - 为 09 添加注释
  • 12 Aug 2022 - 将 notebook 09 的 demo 文件添加到 demos/,开始为 notebook 09 添加说明文字注释
  • 11 Aug 2022 - 完成 notebook 09 的骨架代码,课程完成部署 2 个模型,一个用于 FoodVision Mini,另一个用于(secret
  • 10 Aug 2022 - 添加 PyTorch Extra Resources 章节(学习更多 PyTorch/深度学习的去处):https://www.learnpytorch.io/pytorch_extra_resources/
  • 09 Aug 2022 - 为 notebook 09 添加更多骨架代码
  • 08 Aug 2022 - 创建 09 的草稿 notebook,最终目标是部署 FoodVision Mini 模型并使其公开可访问
  • 05 Aug 2022 - 为 08 录制 11 个视频,视频总数:263,第 08 节视频完成!……目前为止最大的一节
  • 04 Aug 2022 - 为 08 录制 13 个视频,视频总数:252
  • 03 Aug 2022 - 为 08 录制 3 个视频,视频总数:239
  • 02 Aug 2022 - 为 08 录制 12 个视频,视频总数:236
  • 30 July 2022 - 为 08 录制 11 个视频,视频总数:224
  • 29 July 2022 - 为 08 添加 exercises + solutions,见 YouTube 上的 live walkthroughhttps://youtu.be/tjpW_BY8y3g
  • 28 July 2022 - 为 08 添加 slides
  • 27 July 2022 - 清理 08 的大部分内容,开始制作 08 的 slides,接下来做 exercises 和 extra-curriculum
  • 26 July 2022 - 为 08 添加注释和图片
  • 25 July 2022 - 为 08 添加注释
  • 24 July 2022 - 在 YouTube 上以单个视频(25+ 小时!!!)发布课程前半部分(notebooks 0004):https://youtu.be/Z_ikDlimN6A
  • 21 July 2022 - 为 08 添加注释和图片
  • 20 July 2022 - 为 08 添加注释和图片,越来越近了!这是史诗级的一节
  • 19 July 2022 - 为 08 添加注释和图片
  • 15 July 2022 - 为 08 添加注释和图片
  • 14 July 2022 - 为 08 添加注释
  • 12 July 2022 - 为 08 添加注释,woo woo 这是超大大的一节!
  • 11 July 2022 - 为 08 添加注释
  • 9 July 2022 - 为 08 添加注释
  • 8 July 2022 - 为 08 添加大量注释
  • 6 July 2022 - 课程在 ZTM Academy 上线,包含第 0007 节的视频!🚀 - https://dbourke.link/ZTMPyTorch
  • 1 July 2022 - 为 08 添加注释和图片
  • 30 June 2022 - 为 08 添加注释
  • 28 June 2022 - 为第 07 节录制 11 个视频,视频总数 213,第 07 节所有视频完成!
  • 27 June 2022 - 为第 07 节录制 11 个视频,视频总数 202
  • 25 June 2022 - 为第 06 节重录 7 个视频以包含更新后的 API,视频总数 191
  • 24 June 2022 - 为第 06 节重录 12 个视频以包含更新后的 API
  • 23 June 2022 - 完成 07 的注释,为 07 添加 exercise template 和 solutions + YouTube 上的 video walkthroughhttps://youtu.be/cO_r2FYcAjU
  • 21 June 2022 - 使 08 可端到端运行,为 07 添加图片和注释
  • 17 June 2022 - 修复 06、07 v2 以适配即将发布的 torchvision 版本升级,为 08 添加大量注释
  • 13 June 2022 - 添加 notebook 08 第一版,开始复现 Vision Transformer 论文
  • 10 June 2022 - 为 07 v2 添加注释
  • 09 June 2022 - 为 torchvision v0.13 创建 07 v2(当 torchvision=0.13 发布后将替换 07 v1
  • 08 June 2022 - 为 torchvision v0.13 适配 06 v2(当 torchvision=0.13 发布后将替换 06 v1
  • 07 June 2022 - 为即将发布的 torchvision v0.13 更新创建 notebook 06 v2(新的 transfer learning 方法)
  • 04 June 2022 - 为 07 添加注释
  • 03 June 2022 - 为 07 添加海量注释
  • 31 May 2022 - 为 07 添加大量注释,使代码可端到端运行
  • 30 May 2022 - 为 06 录制 4 个视频,完成第 06 节,进入第 07 节,视频总数 186
  • 28 May 2022 - 为 06 录制 10 个视频,视频总数 182
  • 24 May 2022 - 为 06 添加 solutions 和 exercises
  • 23 May 2022 - 完成 06 的注释和图片,该做 exercises 和 solutions 了
  • 22 May 2202 - 为 06 添加大量图片
  • 18 May 2022 - 为 06 添加大量注释
  • 17 May 2022 - 为第 06 节添加大量注释
  • 16 May 2022 - 为第 05 节录制 10 个视频,完成第 05 节视频
  • 12 May 2022 - 为 05 添加 exercises 和 solutions
  • 11 May 2022 - 清理 05 的 part 1 和 part 2 notebooks,制作 05 的 slides,开始做 05 的 exercises 和 solutions
  • 10 May 2022 - 对 05 节进行海量更新,见网站,看起来很漂亮:https://www.learnpytorch.io/05_pytorch_going_modular/
  • 09 May 2022 - 为 05 添加大量材料,清理文档
  • 08 May 2022 - 为 05 添加大量材料
  • 06 May 2022 - 继续制作 05 的材料
  • 05 May 2022 - 用标题/大纲更新第 05 节
  • 28 Apr 2022 - 为 04 录制 13 个视频,完成第 04 节视频,现在制作 05 的材料
  • 27 Apr 2022 - 为 04 录制 3 个视频
  • 26 Apr 2022 - 为 04 录制 10 个视频
  • 25 Apr 2022 - 为 04 录制 11 个视频
  • 24 Apr 2022 - 为 04 准备 slides
  • 23 Apr 2022 - 为 03 录制 6 个视频,完成第 03 节视频,现在进入 04
  • 22 Apr 2022 - 为 03 录制 5 个视频
  • 21 Apr 2022 - 为 03 录制 9 个视频
  • 20 Apr 2022 - 为 03 录制 3 个视频
  • 19 Apr 2022 - 为 03 录制 11 个视频
  • 18 Apr 2022 - 完成 04 的 exercises/solutions,在 YouTube 上添加 04 exercises/solutions 的 live-coding walkthroughhttps://youtu.be/vsFMF9wqWx0
  • 16 Apr 2022 - 完成 03 的 exercises/solutions,在 YouTube 上添加 03 exercises/solutions 的 live-coding walkthroughhttps://youtu.be/_PibmqpEyhA
  • 14 Apr 2022 - 为 04 添加最终图片/注释,开始制作 03 和 04 的 exercises/solutions
  • 13 Apr 2022 - 为 04 添加更多图片/注释
  • 3 Apr 2022 - 为 04 添加更多注释
  • 2 Apr 2022 - 为 04 添加更多注释
  • 1 Apr 2022 - 为 04 添加更多注释
  • 31 Mar 2022 - 为 04 添加更多注释
  • 29 Mar 2022 - 为 04 添加更多注释
  • 27 Mar 2022 - 开始为 04 添加注释
  • 26 Mar 2022 - 为 04 制作 dataset
  • 25 Mar 2022 - 为 03 制作 slides
  • 24 Mar 2022 - 修复 03 在 docs 中无法运行的问题(终于)
  • 23 Mar 2022 - 为 03 添加更多图片
  • 22 Mar 2022 - 为 03 添加图片
  • 20 Mar 2022 - 为 03 添加更多注释
  • 18 Mar 2022 - 为 03 添加更多注释
  • 17 Mar 2022 - 为 03 添加更多注释
  • 16 Mar 2022 - 为 03 添加更多注释
  • 15 Mar 2022 - 为 03 添加更多注释
  • 14 Mar 2022 - 开始为 notebook 03 添加注释,见进行中的工作:https://www.learnpytorch.io/03_pytorch_computer_vision/
  • 12 Mar 2022 - 为 02 录制 12 个视频,完成第 02 节,现在制作 03、04、05 的材料
  • 11 Mar 2022 - 为 02 录制 9 个视频
  • 10 Mar 2022 - 为 02 录制 10 个视频
  • 9 Mar 2022 - 清理 02 的 slides/code,准备录制
  • 8 Mar 2022 - 为第 01 节录制 9 个视频,完成第 01 节,现在进入 02
  • 7 Mar 2022 - 为第 01 节录制 4 个视频
  • 6 Mar 2022 - 为第 01 节录制 4 个视频
  • 4 Mar 2022 - 为第 01 节录制 10 个视频
  • 20 Feb 2022 - 为第 00 节录制 8 个视频,完成该节,现在进入 01
  • 18 Feb 2022 - 为第 00 节录制 13 个视频
  • 17 Feb 2022 - 为第 00 节录制 11 个视频
  • 16 Feb 2022 - 添加 setup guide
  • 12 Feb 2022 - 整理 README,添加课程材料表格,完成 01 的图片和 slides
  • 10 Feb 2022 - 完成 00 的 slides 和图片,notebook 已可发布:https://www.learnpytorch.io/00_pytorch_fundamentals/
  • 01-07 Feb 2022 - 为 02 添加注释,已完成,仍需要图片,今天将做 exercises/solutions
  • 31 Jan 2022 - 开始为 02 添加注释
  • 28 Jan 2022 - 为 01 添加 exercies 和 solutions
  • 26 Jan 2022 - 为 01 添加更多注释,明天应该能完成,之后也会做 exercises + solutions
  • 24 Jan 2022 - 为 01 添加大量注释
  • 21 Jan 2022 - 开始为 01 添加注释
  • 20 Jan 2022 - 完成 00 的注释(仍需添加图片),为 00 添加 exercises 和 solutions
  • 19 Jan 2022 - 为 00 添加更多注释
  • 18 Jan 2022 - 为 00 添加更多注释
  • 17 Jan 2022 - 假期回来,为 00 添加更多注释
  • 10 Dec 2021 - 开始为 00 添加注释
  • 9 Dec 2021 - 为课程创建网站(learnpytorch.io) 随着开发推进,你会在那里看到更新发布
  • 8 Dec 2021 - 清理 notebook 07,开始回头检查代码并添加注释
  • 26 Nov 2021 - 完成 07 的骨架代码,添加了四个不同实验,需要清理并使其更直观
  • 25 Nov 2021 - 清理 06 的代码,为 07 添加骨架代码(experiment tracking
  • 24 Nov 2021 - 更新 04、05、06 notebooks 以便更易消化和学习,每节最多涵盖 3 个大概念,05 现在专门用于将 notebook 代码转为模块化代码
  • 22 Nov 2021 - 更新 04 的 train 和 test 函数,使其更直观
  • 19 Nov 2021 - 添加 05transfer learningnotebook,更新 04 中的 custom data loading 代码
  • 18 Nov 2021 - 更新 03 的 vision 代码,并在 04 中添加 custom dataset loading 代码
  • 12 Nov 2021 - 为 notebook 04 添加大量 custom dataset loading 的骨架代码,下一步是用 custom data 建模
  • 10 Nov 2021 - 为 04 研究 custom datasets 的最佳实践
  • 9 Nov 2021 - 更新 03 骨架代码以完成 CNN model 构建,接下来进入 04 加载 custom datasets
  • 4 Nov 2021 - 为 03 添加 GPU 代码 + train/test loops + helper_functions.py
  • 3 Nov 2021 - 为 03 添加基础起步,计划本周末完成
  • 29 Oct 2021 - 整理 02 的骨架代码,仍有一些需要清理/整理,创建了 03
  • 28 Oct 2021 - 完成 02 的骨架代码,明天将清理/整理,下周做 03
  • 27 Oct 2021 - 为 02 添加大量代码,计划明天/本周末完成
  • 26 Oct 2021 - 用大纲/代码更新 00、01、02,00 和 01 的骨架代码完成,接下来是 02
  • 23, 24 Oct 2021 - 用更多大纲/代码更新 00 和 01 notebooks
  • 20 Oct 2021 - 为 01 和 02 添加 v0 大纲,在 README 中添加课程粗略大纲,本课程将聚焦更少但更好的内容
  • 19 Oct 2021 - 启动仓库 🔥,添加 fundamentals notebook 草稿 v0