PyTorch-Tutorial
中文 PyTorch 深度学习入门教程,快速搭建神经网络
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
中文 PyTorch 深度学习入门教程,快速搭建神经网络
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

莫烦 PyTorch 教程 Logo
有多少人装了 PyTorch、看了官方文档,却在第一次写 CNN 的时候就被 nn.Module、forward、optimizer.zero_grad() 这些概念绕晕了?官方文档太长、例子太抽象、代码缺少中文注释——这是大多数中文开发者入门深度学习的第一道坎。
MorvanZhou/PyTorch-Tutorial 正是为解决这个问题而生。这个由中文 AI 教育博主「莫烦」维护的 GitHub 项目,用 20+ 个精心编排的 Python 脚本和 Jupyter Notebook,覆盖从张量运算到 GAN 对抗生成网络的完整学习路径。截至目前已收获 8,464 stars 和 3,090 forks,成为中文世界最受欢迎的 PyTorch 入门教程之一。
「莫烦」本名周沫凡,是一位长期活跃在中文互联网的 AI 教育创作者。他在 B站、YouTube、知乎等多个平台同步更新机器学习、深度学习、Python 编程等系列视频教程。他的教学风格以「代码优先、概念辅助」著称——先让学习者跑通代码看到效果,再回头解释原理,避免了一上来就灌输公式的枯燥感。
莫烦的教程体系非常完整,不仅有 PyTorch,还包括 TensorFlow、Keras、Scikit-Learn、强化学习、进化算法等几乎所有主流 AI 方向的教程。项目 github.com/MorvanZhou/tutorials 统一管理所有教程源码,形成了一个完整的中文 AI 学习生态。
PyTorch-Tutorial 项目始于 2017 年左右,彼时 PyTorch 刚刚发布不久,中文学习资源极度匮乏。莫烦利用业余时间,将自己学习 PyTorch 的过程整理成教程,代码逐行添加中文注释,视频配合代码同步讲解。这个项目后来成为许多中文 AI 学习者的启蒙读物,甚至被多所高校的机器学习课程引用为辅助材料。
项目内容分为四大模块,循序渐进:
| 文件 | 内容 | 关键知识点 |
|---|---|---|
201_torch_numpy.py | PyTorch 与 NumPy 对比 | 张量创建、类型转换、GPU 迁移 |
202_variable.py | Variable 机制 | 计算图、自动求导、requires_grad |
203_activation.py | 激活函数 | Sigmoid、ReLU、Tanh 的 PyTorch 实现 |
这一模块解决的是「PyTorch 是什么」的问题。作者通过与 NumPy 的对比,让有 Python 科学计算基础的开发者快速迁移知识,避免了从零开始理解张量概念的心理负担。
这是整个教程的核心模块,从最简单的线性回归讲起:
301_regression.py:用 PyTorch 拟合一条直线,对应吴恩达机器学习课程第一个编程作业的难度,但代码更简洁302_classification.py:二分类问题,引入 BCELoss303_build_nn_quickly.py:莫烦推荐的高效搭建方式,直接用 torch.nn.Sequential304_save_reload.py:极其实用的技巧,教你在训练完成后保存模型权重和加载复用305_batch_train.py:批训练的两种写法(DataLoader vs 手动切片)306_optimizer.py:SGD、Adam、RMSprop 等优化器横向对比
回归模型训练过程可视化
覆盖当前工业界和学术界最常用的深度学习模型:
401_CNN.py:卷积神经网络,用于图像分类,是计算机视觉的基石402_RNN_classifier.py:RNN 用于文本分类(垃圾邮件检测、情感分析)403_RNN_regressor.py:RNN 用于时序预测(股价、气温等)404_autoencoder.py:自编码器,深度学习降维与特征学习的经典结构405_DQN_Reinforcement_learning.py:深度 Q 网络,强化学习的入门经典(AlphaGo 的核心技术之一)406_GAN.py:生成对抗网络,让神经网络学会「创作」406_conditional_GAN.py:条件 GAN,生成指定类别的图像
分类模型训练过程可视化
501_why_torch_dynamic_graph.py:解释 PyTorch 动态图的优越性(对比 TensorFlow 1.x 的静态图)502_GPU.py:模型和数据如何迁移到 GPU 加速503_dropout.py:正则化技巧,防止过拟合504_batch_normalization.py:加速训练收敛的标准化技术torch + numpy + matplotlibtutorial-contents-notebooks/ 目录下提供完整 Notebook 版本,可直接在 Google Colab 或本地 Jupyter 环境中运行莫烦的代码风格非常「教科书」:
.py 文件控制在一屏之内,避免长文件x_data, y_data, prediction),符合 PyTorch 社区惯例项目直接使用 PyTorch 框架,属于底层深度学习框架。此外还涵盖了多个应用方向的核心算法:
| 维度 | 难度 | 说明 |
|---|---|---|
| 编程基础 | ⭐⭐ | 需要 Python 基础(理解函数、类、基本数据结构) |
| 数学基础 | ⭐⭐ | 需了解线性代数(矩阵乘法)和概率基础 |
| 硬件要求 | ⭐ | CPU 可运行全部示例,GPU 可加速训练(可选) |
| 环境配置 | ⭐⭐ | 需安装 PyTorch(pip install torch torchvision) |
整体来看,这是一个零基础入门友好的教程。唯一的前置要求是会写 Python,而 Python 本身也是最容易入门的编程语言之一。
方式一:本地运行
git clone https://github.com/MorvanZhou/PyTorch-Tutorial.git
cd PyTorch-Tutorial/tutorial-contents
# 直接运行任意 .py 文件
python 301_regression.py
方式二:Google Colab(推荐) 每个 Notebook 都可以直接上传到 Google Colab,在浏览器中在线运行,无需任何环境配置。Colab 还提供免费的 GPU 算力,对于 CNN、GAN 等计算密集的示例非常有价值。
torch.autograd.Variable)在新版 PyTorch 2.x 中已被移除或废弃,直接复制运行可能报警告.ipynb 文件更新频率低于 .py 文件,可能存在版本不一致部分学习者反馈,莫烦的教程「太简单」——只讲如何用,不讲为什么。这确实是入门教程的通病:降低门槛的同时也压缩了理论深度。建议将本项目作为「入门第一站」,学完后转向 PyTorch 官方文档或 Fast.ai 课程补充理论基础。
在 MorvanZhou/PyTorch-Tutorial 之前,中文开发者学习 PyTorch 只能依赖英文官方文档或机翻的零散博客。莫烦的教程填补了一个巨大的信息鸿沟——用学习者母语讲述前沿技术,大幅降低了入门门槛。从这个角度看,这个项目的意义超越了代码本身,更像是一次「技术普惠」的实践。
项目当前 8,464 stars,在 PyTorch 相关教程类项目中排名前列。考虑到这是一个个人维护项目,而非企业或研究机构出品,这个数据相当亮眼。项目增长主要来自:
推荐使用:
不太适合:
莫烦 PyTorch 教程的价值不在于教你多少「高深」的技术,而在于它用最平易近人的方式,带你跨过深度学习的第一道门槛。能让你跑通第一个神经网络的项目,就是最好的入门项目。
本分析基于 GitHub 最新数据生成,报告长度约 2,800 字。