从零到精通:PyTorch 深度学习训练营
欢迎来到互联网上学习 PyTorch 的第二佳地点(第一佳地点是 PyTorch 官方文档)。
这是 学习 PyTorch 进行深度学习:从零到精通课程 的在线书籍版本。
本课程将教授您使用 PyTorch(一种用 Python 编写的机器学习框架)进行机器学习和深度学习的基础知识。
课程以视频为基础。然而,视频内容基于这本在线书籍。
完整的代码和资源请参见 课程 GitHub。
您也可以在下面了解更多关于课程的信息。
本课程是否涵盖 PyTorch 2.0?
是的。PyTorch 2.0 是对之前版本的 PyTorch 的附加发布。
这意味着它在 PyTorch 现有基线功能之上添加了新功能。
本课程专注于 PyTorch 的基线功能(例如,您是初学者,想要进入深度学习/人工智能领域)。
一旦您掌握了 PyTorch 的基础知识,升级到 PyTorch 2.0 是很快的,本网站上有一个 教程 介绍了新功能。
状态
课程已在 ZTM Academy上线!
- 最后更新:2023年4月16日
- 已完成章节视频:00, 01, 02, 03, 04, 05, 06, 07, 08, 09(所有章节!)
- 目前正在制作:PyTorch 2.0 教程
- 查看课程进度:GitHub 项目
获取更新: 关注 pytorch-deep-learning
仓库日志或订阅邮件。
课程材料/大纲
- 💻 GitHub 代码: 所有课程材料均可在 GitHub 上免费获取。
- 🎥 前五部分在 YouTube: 通过观看 前 25 小时的内容,一天内学会 PyTorch。
- 🔬 课程重点: 代码,代码,代码,实验,实验,实验。
- 🏃♂️ 教学风格: https://sive.rs/kimo
- 🤔 提问: 查看课程 GitHub 讨论页面 以获取现有问题或提出您自己的问题。
章节 | 内容概述 | 练习 & 额外课程 | 幻灯片 |
---|---|---|---|
00 - PyTorch 基础 | 深度学习和神经网络中使用的许多基本 PyTorch 操作。 | 前往练习 & 额外课程 | 前往幻灯片 |
01 - PyTorch 工作流程 | 提供解决深度学习问题和使用 PyTorch 构建神经网络的框架。 | 前往练习 & 额外课程 | 前往幻灯片 |
02 - PyTorch 神经网络分类 | 使用 01 章节的 PyTorch 工作流程解决神经网络分类问题。 | 前往练习 & 额外课程 | 前往幻灯片 |
03 - PyTorch 计算机视觉 | 看看如何使用 01 & 02 章节的工作流程解决计算机视觉问题。 | 前往练习 & 额外课程 | 前往幻灯片 |
04 - PyTorch 自定义数据集 | 如何将自定义数据集加载到 PyTorch 中?本章节还将为我们的模块化代码(在 05 章节中介绍)奠定基础。 | 前往练习 & 额外课程 | 前往幻灯片 |
05 - PyTorch 模块化 | PyTorch 设计为模块化,让我们将创建的内容转换为一系列 Python 脚本(这是您在野外经常看到的 PyTorch 代码)。 | 前往练习 & 额外课程 | 前往幻灯片 |
06 - PyTorch 迁移学习 | 让我们采用一个表现良好的预训练模型并将其调整为我们自己的问题。 | 前往练习 & 额外课程 | 前往幻灯片 |
07 - 里程碑项目 1:PyTorch 实验跟踪 | 我们已经构建了许多模型...跟踪它们的进展不是很好吗? | 前往练习 & 额外课程 | 前往幻灯片 |
08 - 里程碑项目 2:PyTorch 论文复现 | PyTorch 是机器学习研究中最受欢迎的深度学习框架,让我们通过复现一篇机器学习论文来看看为什么。 | 前往练习 & 额外课程 | 前往幻灯片 |
09 - 里程碑项目 3:模型部署 | 我们已经构建了一个可工作的 PyTorch 模型...如何让其他人使用它?提示:将其部署到互联网上。 | 前往练习 & 额外课程 | 前往幻灯片 |
PyTorch 额外资源 | 本课程涵盖了大量的 PyTorch 和深度学习,但机器学习领域广阔,在这里您将找到推荐的书籍和资源:PyTorch 和深度学习,ML 工程,NLP(自然语言处理),时间序列数据,如何找到数据集等。 | - | - |
PyTorch 速查表 | 对 PyTorch 的一些主要功能进行快速概览,并附上课程和 PyTorch 文档中更多资源的链接。 | - | - |
PyTorch 三大常见错误 | 概述 PyTorch 中最常见的三个错误(形状、设备和数据类型错误),它们是如何发生的以及如何修复它们。 | - | - |
快速 PyTorch 2.0 教程 | 对 PyTorch 2.0 的快速介绍,新功能以及如何开始,并附上更多学习资源的链接。 | - | - |
关于本课程
本课程适合谁?
你: 是机器学习、深度学习或人工智能领域的新手,希望学习 PyTorch。
本课程: 以实践为主、代码优先的方式教授你 PyTorch 以及许多机器学习、深度学习和人工智能概念。
如果你已经有一年以上的机器学习经验,本课程可能会有所帮助,但它专门设计为适合初学者。
课程先决条件是什么?
- 3-6 个月的 Python 编程经验。
- 至少完成一门机器学习入门课程(不过这一项可能可以跳过,许多不同主题的资源已链接)。
- 使用 Jupyter Notebooks 或 Google Colab 的经验(尽管你可以边学边掌握)。
- 学习意愿(最重要的)。
对于 1 和 2,我推荐 Zero to Mastery 数据科学与机器学习训练营,它将教你机器学习和 Python 的基础知识(我有点偏见,因为我也在教这门课程)。
课程是如何教授的?
所有课程材料都可以在 learnpytorch.io 上的在线书籍中免费获取。如果你喜欢阅读,我建议你通过那里的资源学习。
如果你更喜欢通过视频学习,课程也采用学徒式教学方式,即我编写 PyTorch 代码,你也编写 PyTorch 代码。
本课程的座右铭包括 如果有疑问,运行代码 和 实验,实验,实验! 是有原因的。
我的全部目标是帮助你做一件事:通过编写 PyTorch 代码来学习机器学习。
所有代码都是通过 Google Colab Notebooks(你也可以使用 Jupyter Notebooks)编写的,这是一个用于实验机器学习的绝佳免费资源。
完成课程后,我能获得什么?
如果你观看完所有视频,会有证书之类的东西。
但证书也就那样。
你可以把这门课程看作是机器学习的动力助推器。
到课程结束时,你将编写数百行 PyTorch 代码。
并且将接触到许多机器学习中最关键的概念。
因此,当你去构建自己的机器学习项目或检查用 PyTorch 制作的公共机器学习项目时,它会感觉很熟悉;如果感觉不熟悉,至少你知道该从哪里找起。
在课程中,我将构建什么?
我们从 PyTorch 和机器学习的基础知识开始,所以即使你是机器学习的新手,也能跟上进度。
然后,我们将探索更高级的领域,包括 PyTorch 神经网络分类、PyTorch 工作流程、计算机视觉、自定义数据集、实验跟踪、模型部署,以及我个人最喜欢的:迁移学习,这是一种强大的技术,可以将一个机器学习模型在另一个问题上学到的知识应用到你自己的问题上!
在此过程中,你将围绕一个名为 FoodVision 的总体项目构建三个里程碑项目,FoodVision 是一个用于分类食物图像的神经网络计算机视觉模型。
这些里程碑项目将帮助你练习使用 PyTorch 涵盖重要的机器学习概念,并创建一个你可以向雇主展示的作品集,说:“这是我做过的项目”。
我该如何学习这门课程?
如前所述,课程的视频版本采用学徒式教学。
这意味着我写 PyTorch 代码,你也写 PyTorch 代码。
但我建议你:
- 跟着代码写(如果有疑问,运行代码) - 跟着代码学习,尽可能自己多写一些,持续这样做,直到你发现自己不自觉地写 PyTorch 代码,那时你就可以停止一遍又一遍地写相同的代码了。
- 探索和实验(实验,实验,实验!) - 机器学习(和深度学习)非常注重实验。所以如果你发现自己想尝试一些自己的想法并忽略材料,那就去做吧。
- 可视化你不理解的内容(可视化,可视化,可视化!) - 纸上的数字可能会让人困惑。所以让事情变得多彩,看看你的代码的输入和输出是什么样的。
- 提问 - 如果你卡住了,就问个问题,试着搜索它,如果找不到答案,课程的 GitHub Discussions 页面会是你去的地方。
- 完成练习 - 课程的每个模块都有一个专门的练习部分。尝试自己完成这些练习很重要。你会卡住。但这就是学习新事物的本质:每个人都会卡住。
- 分享你的作品 - 如果你学到了一些酷的东西,甚至更好,创造了一些酷的东西,分享它。可以在课程的 Discord 群组或 GitHub 页面上,或者在你自己的网站上。分享你的作品的好处是你可以练习沟通,同时如果别人不确定某些事情,他们也可以帮助你。
我需要按顺序学习吗?
笔记本/章节是按顺序构建的,但你可以随意跳跃。
我该如何开始?
你可以在任何设备上阅读材料,但这个课程最好在桌面浏览器上查看和跟着代码写。
课程使用了一个免费工具叫 Google Colab。如果你没有使用经验,我建议先通过免费的 Google Colab 入门教程,然后再回来。
开始步骤:
- 点击其中一个笔记本或章节链接,比如 "00. PyTorch 基础"。
- 点击顶部的 "Open in Colab" 按钮。
- 按几次 SHIFT+Enter,看看会发生什么。
祝你机器学习愉快!