第1课:深度学习前置知识与PyTorch整体认知

文章目录
📖 课前导读
欢迎来到《PyTorch从入门到精通》专栏的第一课!在正式敲代码之前,我们需要先建立对整个领域的宏观认知。
很多初学者会问:“我数学基础不好能学吗?”“深度学习到底在学什么?”“PyTorch和TensorFlow哪个更好?”
这一课就是为了回答这些问题而生的。我们将用最通俗的语言,帮你搞懂深度学习的基本概念,建立起PyTorch的整体认知,同时明确未来24课的学习路线。零基础完全友好,不涉及复杂公式推导,只讲“它是什么”“为什么需要它”“我们该怎么学”。
学完这一课,你将收获:
- ✅ 理解人工智能、机器学习、深度学习的层次关系
- ✅ 掌握神经网络最核心的思想(“模拟人脑”到底是怎么模拟的)
- ✅ 了解主流深度学习框架的优缺点对比
- ✅ 搞清楚PyTorch为什么能成为学术界的首选
- ✅ 明确计算机视觉、自然语言处理等应用场景
- ✅ 获取完整的学习路线图,避免走弯路
一、知识原理:从人工智能到深度学习
1.1 人工智能、机器学习、深度学习,三者什么关系?
很多人把这几个概念混为一谈,实际上它们是层层包含的关系:
人工智能(AI)
└── 机器学习(ML)
└── 深度学习(DL)
人工智能(AI):让机器模仿人类智能的学科,包含推理、规划、学习等。1956年达特茅斯会议诞生了这个概念。
机器学习(ML):AI的一个子集,核心思想是**“不直接编程规则,而是让机器从数据中自动学习规律”**。比如我们不需要写“如果温度>35度就判断为炎热”这种规则,而是给机器大量温度数据和对应的体感标签,让它自己找规律。
深度学习(DL):机器学习的一个分支,用**“多层神经网络”来自动提取特征。传统机器学习需要人工设计“特征”(比如从图片中提取边缘、纹理),而深度学习可以端到端**地学习,输入原始数据直接输出结果。
💡 生活类比:
- AI = 让机器变聪明的整个学科
- 机器学习 = 让机器通过做题(数据)来学会知识的方法
- 深度学习 = 用“多层推理”(神经网络)来做题的高级方法
1.2 神经网络的核心思想(纯白话版)
神经网络的名字确实容易让人想到生物大脑,但实际原理简单得多。
最简单的神经元模型
一个生物神经元有树突(接收信号)、细胞体(处理信号)、轴突(输出信号)。人工神经元模仿了这个结构:
输入 x1 ——→ [权重 w1] ——→
输入 x2 ——→ [权重 w2] ——→ [求和 Σ] ——→ [激活函数 f] ——→ 输出
输入 x3 ——→ [权重 w3] ——→
+ [偏置 b]
计算过程就两步:
- 把输入乘以对应的权重,再加起来,最后加上偏置:
z = x1*w1 + x2*w2 + x3*w3 + b - 把z扔进激活函数,得到最终输出:
output = f(z)
🎯 权重和偏置就是需要学习的参数。训练的过程就是不断调整这些数字,让输出接近正确答案。
从单个神经元到神经网络
一个神经元能解决的问题极其有限(比如简单的线性分类)。把大量神经元分层连接起来,就形成了神经网络:
输入层 → 隐藏层1 → 隐藏层2 → ... → 输出层
- 输入层:接收原始数据(比如图片的像素值)
- 隐藏层:自动提取特征,层数越多,“抽象程度”越高(底层识别边缘,中层识别形状,高层识别物体)
- 输出层:输出最终结果(比如0-9的分类概率)
深度学习的“深”,就是指隐藏层的数量多。层数越多,理论上能学习的模式越复杂。
1.3 神经网络如何学习?——反向传播与梯度下降
这是深度学习的核心引擎,理解这两个概念,你就懂了80%的训练原理。
前向传播:输入 → 输出
数据从输入层进入,逐层计算,最后输出结果。比如输入一张手写数字图片,网络输出[0.1, 0.01, 0.7, ...],表示“2的概率70%”。
损失函数:衡量预测与真实值的差距
预测是0.7(认为图是2),但真实标签是1(图是1),显然错了。损失函数会输出一个大数字(比如2.5),表示“错得挺离谱”。
反向传播:从输出→输入,逐层传递误差
从输出层开始,计算每个参数对最终损失的影响程度(梯度)。梯度为正表示“这个参数调大,损失更大(更错)”,梯度为负表示“调大这个参数,损失减小(更对)”。
梯度下降:沿着梯度反方向调整参数
知道了每个参数的“责任大小”,就沿着负梯度方向微调参数,让损失变小一点。重复这个过程成千上万次,损失逐渐降低,模型越来越准。
📊 核心流程:
前向传播 → 计算损失 → 反向传播(求梯度)→ 梯度下降(更新参数)→ 重复
💡 形象比喻:
你在一个漆黑的山谷里(损失函数),想走到最低点(最小化损失)。脚能感觉到地面的坡度(梯度),坡度陡说明下降快。每次往最陡的下坡方向迈一小步(梯度下降),重复几百次就能到谷底。
1.4 为什么深度学习现在这么火?
神经网络的概念早在1940年代就提出了,但直到2012年才真正爆发。背后是三股力量的推动:
| 因素 | 过去的问题 | 现在的突破 |
|---|---|---|
| 数据 | 小规模数据集容易过拟合 | 互联网产生海量数据(ImageNet 1400万张图) |
| 算力 | CPU训练一个模型要几个月 | GPU并行计算提速几百倍 |
| 算法 | 深层网络梯度消失训练不动 | ReLU激活函数、残差连接等突破 |
2012年AlexNet在ImageNet夺冠,错误率比第二名低10个百分点,从此深度学习进入黄金时代。
1.5 深度学习的三大应用方向
本专栏会覆盖前两个方向的基础,以及Transformer这种统一架构。
计算机视觉(CV)
让计算机理解图像和视频。典型任务:
- 图像分类:这张图是猫还是狗?
- 目标检测:图中哪里有猫?画个框
- 语义分割:把图中每个像素分类(哪些是猫,哪些是背景)
- 人脸识别:这个人是谁?
应用:自动驾驶、医学影像分析、安防监控、美颜相机
自然语言处理(NLP)
让计算机理解人类语言。典型任务:
- 文本分类:这条评论是正面还是负面?
- 机器翻译:中译英
- 命名实体识别:提取“张三”是人名、“北京”是地名
- 问答系统:根据文档回答问题
应用:智能客服、搜索引擎、语音助手、ChatGPT类大模型
多模态学习(新趋势)
同时处理图像、文本、语音等多种数据。典型任务:
- 图文检索:输入“一只猫爬树”,找到匹配的图片
- 视觉问答:给一张图,问“图里有几个人?”模型回答
- 文生图:输入“宇航员骑马”,生成对应图片
应用:大模型(GPT-4V、Sora、Gemini)
二、深度学习框架对比与PyTorch优势
2.1 为什么需要深度学习框架?
不借助框架实现神经网络,你需要:
- 手动写矩阵运算(几百行代码)
- 手动实现自动求导(极其容易出错)
- 手动调度GPU运算(需要CUDA专业知识)
框架把这一切封装好了。用PyTorch实现一个全连接层,只需要nn.Linear(输入维度, 输出维度)。
2.2 主流框架横向对比
| 框架 | 诞生时间 | 主要特点 | 优势 | 劣势 | 适合人群 |
|---|---|---|---|---|---|
| TensorFlow | 2015(Google) | 工业级部署强 | 生态完善、TPU支持、TensorFlow Serving | 1.x版本API混乱,2.x虽改进但仍有历史包袱 | 工业大厂、需要部署到移动端/Web的场景 |
| PyTorch | 2016(Meta) | 动态图、Pythonic | 上手简单、调试方便、学术界统治地位 | 早期部署弱(已通过TorchScript和ONNX改善) | 研究者、初学者、快速原型开发 |
| JAX | 2018(Google) | 函数式、自动微分 | 极快的编译速度、支持大规模并行 | 学习曲线陡、生态相对年轻 | 高阶研究者、Google内部项目 |
| PaddlePaddle | 2016(百度) | 中文生态完善 | 中文文档好、产业落地强 | 国际社区较小 | 国内企业、中文用户 |
2.3 PyTorch的杀手级优势
优势1:动态计算图(Define-by-Run)
这是PyTorch最核心的特点。
- TensorFlow 1.x:先定义静态图(像写剧本,所有情节提前定好),再喂数据执行(像按剧本拍戏)。调试困难,出错时不知道具体数据值。
- PyTorch:边运行边构建图(像即兴表演)。你可以用Python的原生print、if、for,调试体验和普通Python脚本一样。
💡 实际例子:你想根据输入长度动态调整网络结构。PyTorch直接写
if x.shape[0] > 10: use_complex_network(),TensorFlow 1.x则需要复杂的条件控制节点。
优势2:Pythonic,对开发者极其友好
PyTorch的代码写起来就像在操作NumPy数组,但加上了GPU加速和自动求导。学完NumPy后再学PyTorch,几乎无缝衔接。
# 这就是PyTorch的代码风格,和NumPy如出一辙
import torch
x = torch.randn(3, 4) # 创建随机张量
y = x + 1 # 直接运算
z = y.mean() # 调用方法
z.backward() # 自动求导,就这么简单
优势3:学术界统治地位
根据2023-2024年的统计,顶会论文(NeurIPS、ICML、CVPR)中有超过75%使用PyTorch。原因很简单:研究者需要快速验证想法,不想被框架限制。
学习PyTorch意味着你阅读前沿论文代码时,不会因为框架差异而卡住。
优势4:完善的生态工具
| 工具 | 作用 |
|---|---|
| torchvision | 计算机视觉数据集、模型、图像变换 |
| torchtext | 自然语言处理工具 |
| torchaudio | 音频处理工具 |
| HuggingFace Transformers | 预训练大模型(BERT、GPT等) |
| PyTorch Lightning | 简化训练循环封装 |
| ONNX | 模型导出到其他框架 |
2.4 选型建议
| 场景 | 推荐框架 |
|---|---|
| 深度学习初学者 | PyTorch(上手平滑,社区活跃) |
| 学术研究、发论文 | PyTorch(代码复用度高) |
| 快速原型验证 | PyTorch(动态图灵活) |
| 工业大厂已有TF生态 | TensorFlow |
| 需要部署到手机/浏览器 | TensorFlow Lite或PyTorch Mobile |
| 超大规模训练(TPU集群) | JAX或TensorFlow |
✅ 结论:对于本专栏的目标读者(从入门到精通,最终做项目),PyTorch是最佳选择。
三、PyTorch发展历程与生态全景
3.1 时间线:从Torch到PyTorch
| 时间 | 事件 |
|---|---|
| 2002 | Torch框架诞生于Lua语言,学术圈小范围使用 |
| 2015 | Facebook(现Meta)内部开始用Torch做研究,但Lua太小众 |
| 2016.10 | PyTorch 0.1.0发布,Python接口 + 动态图,瞬间引爆关注 |
| 2017 | 大量研究者从Torch迁移到PyTorch |
| 2018 | PyTorch 1.0发布,加入TorchScript(生产部署能力) |
| 2019 | 成为学术界默认标准,超过TensorFlow |
| 2020 | PyTorch加入Linux基金会 |
| 2022 | PyTorch 2.0发布,加入torch.compile大幅提升性能 |
| 2024 | PyTorch已成深度学习事实标准之一 |
3.2 PyTorch核心模块速览
torch # 顶层包,张量操作、数学函数
├── torch.nn # 神经网络层(Linear, Conv2d, LSTM...)
├── torch.nn.functional # 无参数的函数(激活函数、池化...)
├── torch.optim # 优化器(SGD, Adam, AdamW...)
├── torch.utils.data # 数据加载(Dataset, DataLoader)
├── torch.autograd # 自动梯度引擎
├── torch.cuda # CUDA加速接口
├── torch.distributed # 分布式训练
├── torch.jit # TorchScript即时编译
├── torch.onnx # ONNX模型导出
└── torch.compile # PyTorch 2.0编译器
3.3 PyTorch社区资源
- 官方文档:
pytorch.org/docs(非常完善,可读性强) - 官方教程:
pytorch.org/tutorials(60分钟入门、示例项目) - GitHub:
github.com/pytorch/pytorch(6万+ star) - 论坛:
discuss.pytorch.org(有问题先去搜) - 中文社区:知乎“PyTorch”话题、CSDN、掘金
四、学习路线规划与专栏大纲
4.1 深度学习的“不可能三角”误区
很多初学者想同时追求:快 + 深 + 全,结果哪个都没得到。
✅ 正确策略:第一遍不求甚解,第二遍深入细节,第三遍串联知识。
本专栏的设计思路:
- 筑基篇(第1-11课):掌握张量、自动梯度、网络搭建、完整训练流程
- 进阶篇(第12-20课):CNN、RNN、Transformer、正则化、可视化
- 工程篇(第21-24课):分布式训练、部署、排错、工程规范
- 实战篇(第25课):商业级项目全流程
4.2 完整25课学习地图
┌─────────────────────────────────────────────────────┐
│ 筑基篇(1-11课) │
│ 环境搭建 → 张量 → 自动微分 → 数据加载 → nn.Module │
│ → 激活函数 → 损失函数 → 优化器 → 学习率调度 │
│ → 首个全连接训练实战 │
└─────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────┐
│ 进阶篇(12-20课) │
│ 卷积CNN → 经典复现 → 轻量化网络 → 数据增强 │
│ RNN/LSTM → Transformer原理 → 正则化过拟合 │
│ → TensorBoard可视化 │
└─────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────┐
│ 工程篇(21-24课) │
│ 多卡分布式 → 模型部署优化 → 报错大全 → 工程化规范 │
└─────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────┐
│ 实战篇(第25课) │
│ 商业级图像分类项目(整合全部知识) │
└─────────────────────────────────────────────────────┘
4.3 各阶段学习重点与预计时间
| 阶段 | 核心任务 | 预计用时 | 产出 |
|---|---|---|---|
| 筑基篇 | 跑通第一个训练脚本 | 2-3周 | 手写数字识别模型 |
| 进阶篇 | 理解CNN/RNN原理 | 3-4周 | 能自己搭建分类/时序模型 |
| 工程篇 | 掌握部署与规范 | 1-2周 | 可复用代码模板 |
| 实战篇 | 完成商业级项目 | 1周 | 完整项目源码 |
4.4 学习建议与避坑指南
不建议做的事 ❌
- 直接看论文公式:零基础看反向传播数学推导会崩溃,先跑通代码再补理论
- 只读不敲:深度学习是“手艺活”,必须亲手敲代码调试
- 追求最新模型:没学会CNN直接看ViT(视觉Transformer),就像没学加减法学微积分
- 跳过基础调参:手写数字分类都没调过学习率,就去挑战Kaggle比赛
建议做的事 ✅
- 边学边记:维护自己的“踩坑日志”,记录每个报错和解决方案
- 代码逐行注释:本专栏的代码都会详细注释,你自己重新敲时要能讲出每行的作用
- 项目驱动:第25课项目从第1课就开始构思,每学一个知识点就问“这个在我的项目里能用上吗”
- 善用官方文档:CSDN博客可能过时,但官方文档永远权威
4.5 数学要学到什么程度?
这是初学者最焦虑的问题。实话实说:入门阶段高中数学足够,进阶阶段需要大一高数基础。
| 数学知识 | 是否必需 | 在深度学习中的应用 |
|---|---|---|
| 初中代数 | ✅ 必需 | 变量、函数、方程(理解输出 = f(wx+b)) |
| 线性代数 | ✅ 核心 | 矩阵运算、向量、张量(神经网络本质是矩阵乘法) |
| 微积分 | ✅ 核心 | 导数、偏导、链式法则(反向传播的数学基础) |
| 概率统计 | ⭐ 重要 | 分布、期望、方差(理解损失函数、正则化) |
| 最优化理论 | ⭐ 进阶 | 凸优化、梯度下降变体(理解优化器原理) |
📌 具体建议:
- 学第1-11课时,遇到导数、偏导知道“求变化率”即可
- 学到第4课自动微分时,可以补一下链式法则的3个例子
- 学到第9课优化器时,可以了解一下泰勒展开的直觉理解
- 不需要专门啃数学书,遇到不懂的概念再去B站搜“xxx 直观理解”
4.6 硬件要求与配置建议
| 阶段 | 最低配置 | 推荐配置 | 说明 |
|---|---|---|---|
| 课程1-15课 | 4核CPU + 8G内存 | 6核CPU + 16G内存 | 不用GPU也能跑,只是慢一点 |
| 课程16-25课 | 4G显存 GPU(GTX 1650) | 8G显存 GPU(RTX 3060/4060) | CNN训练需要GPU加速 |
| 商业项目 | 8G显存 GPU | 12G+ 显存(RTX 3090/4090) | 训练ResNet-50等模型 |
没有独显怎么办?
- ✅ Google Colab(免费K80/T4 GPU,每周有使用限额)
- ✅ 阿里云PAI、AutoDL(按小时租GPU,几块钱一小时)
- ✅ Kaggle Notebook(每周30小时免费GPU)
本专栏所有代码都标注了“CPU可运行版本”和“GPU加速版本”,没有显卡也能学。
五、应用场景深度解析
5.1 计算机视觉(CV)典型任务详解
图像分类(Image Classification)
- 输入:一张图片
- 输出:类别标签(猫/狗/车)
- 经典模型:ResNet、EfficientNet、ViT
- 本专栏实战:第11课手写数字识别、第25课商业级图像分类
目标检测(Object Detection)
- 输入:一张图片
- 输出:多个边界框 + 类别
- 经典模型:YOLO(实时性极强)、Faster R-CNN(高精度)
- 拓展知识:学完CNN后可自行学习YOLO
语义分割(Semantic Segmentation)
- 输入:一张图片
- 输出:每个像素的类别(像素级分类)
- 经典模型:U-Net(医学影像)、DeepLab
5.2 自然语言处理(NLP)典型任务详解
文本分类(Text Classification)
- 输入:一句话或一段文本
- 输出:类别(情感正负向、新闻分类)
- 经典模型:TextCNN、LSTM、BERT
- 本专栏涉及:第17课LSTM文本分类
序列标注(Sequence Labeling)
- 输入:文本序列
- 输出:每个位置的标签(分词、命名实体识别)
- 经典模型:BiLSTM-CRF、BERT
生成任务(文本生成、翻译)
- 输入:源文本
- 输出:目标文本
- 经典模型:Transformer、GPT系列
5.3 多模态与生成式AI(2024年热点)
大模型的爆发让多模态成为必学方向,本专栏第18课会详解Transformer架构,这是所有大模型的基石。
- 文生图:Stable Diffusion、DALL-E、Midjourney
- 视觉语言模型:GPT-4V、LLaVA
- 视频生成:Sora、Runway Gen-2
六、入门误区避坑指南
误区1:一定要先把数学学透再学深度学习
❌ 错误:花半年学完线性代数、微积分、概率论、凸优化,然后发现全忘了。
✅ 正确:在用中学。遇到x = torch.matmul(A, B)时,再去看矩阵乘法定义;遇到loss.backward()时,再去查链式法则。有代码上下文,理解效率提高3倍以上。
误区2:跑通一个模型就觉得自己会了
❌ 错误:用现成代码跑通MNIST,就敢写在简历上“精通PyTorch”。
✅ 正确:至少要能回答:
- 为什么学习率设置为0.001而不是0.1?
- Batch Size变化时该怎么调参?
- 训练集准确率99%,验证集70%,怎么办?
本专栏的每段代码都需要你手动敲一遍、改参数看效果、故意制造bug再修复。
误区3:沉迷调参,不关注数据质量
❌ 错误:花3周调超参数,模型准确率从85%提到86%,但数据里有10%的标签是错误的。
✅ 正确:数据决定上限,模型只是逼近这个上限。拿到任务后第一步永远是分析数据分布、检查标签噪声、做数据清洗。
误区4:不开可视化训练过程
❌ 错误:训练脚本启动后就去干别的事,回来看到Loss=0.001就开心,完全不知道中间是否震荡过。
✅ 正确:第20课会详细讲TensorBoard,每轮训练记录损失和准确率,曲线能告诉你学习率是否合适、是否过拟合、梯度是否爆炸。
误区5:忽略版本兼容性
❌ 错误:教程用的是PyTorch 1.9,你装了2.2,某个API废弃了导致报错,花一天查问题。
✅ 正确:创建虚拟环境时固定版本号。本专栏使用的版本会在第2课给出requirements.txt。
七、专栏整体学习大纲梳理
为了让你对整个25课有全局视野,这里把课程分成4个篇章,并标注每课的核心知识点。
第一篇章:筑基篇(第1-11课)
| 课程 | 主题 | 核心产出 |
|---|---|---|
| 第1课 | 前置知识与整体认知 | 建立正确学习观,明确路线图 |
| 第2课 | 全平台环境搭建 | 本地可运行的PyTorch环境 |
| 第3课 | Tensor张量精讲 | 灵活操作张量,理解形状变换 |
| 第4课 | Autograd自动微分 | 搞懂backward()原理 |
| 第5课 | 数据流与预处理 | 自定义Dataset和DataLoader |
| 第6课 | nn.Module核心架构 | 搭建自定义网络的标准写法 |
| 第7课 | 激活函数全品类 | 选对激活函数,避免梯度消失 |
| 第8课 | 损失函数详解 | 回归/分类/自定义损失 |
| 第9课 | 优化器实战 | SGD/Adam/AdamW选择策略 |
| 第10课 | 学习率调度策略 | 使用LR Scheduler提升收敛 |
| 第11课 | 全连接实战 | 手写数字识别完整项目 |
第二篇章:进阶篇(第12-20课)
| 课程 | 主题 | 核心产出 |
|---|---|---|
| 第12课 | CNN卷积神经网络 | 理解卷积、池化、感受野 |
| 第13课 | 经典CNN复现 | LeNet/AlexNet/VGG代码 |
| 第14课 | 轻量化CNN | ResNet/MobileNet原理 |
| 第15课 | 图像数据增强 | 提升泛化能力的关键技巧 |
| 第16课 | RNN循环神经网络 | 时序数据处理 |
| 第17课 | LSTM与GRU | 长序列建模 |
| 第18课 | Transformer架构 | 自注意力机制,大模型基础 |
| 第19课 | 正则化与过拟合 | Dropout/BatchNorm/L1L2 |
| 第20课 | TensorBoard可视化 | 训练过程实时监控 |
第三篇章:工程篇(第21-24课)
| 课程 | 主题 | 核心产出 |
|---|---|---|
| 第21课 | GPU多卡训练 | DDP分布式训练基础 |
| 第22课 | 模型推理部署 | ONNX导出、量化加速 |
| 第23课 | 一站式排错大全 | 20+高频报错解决方案 |
| 第24课 | 工程化代码规范 | 企业级项目目录结构 |
第四篇章:实战篇(第25课)
| 课程 | 主题 | 核心产出 |
|---|---|---|
| 第25课 | 商业级完整项目 | 可商用二次开发的图像分类系统 |
⭐ 建议学习节奏:每2-3天完成1课,每课用2小时阅读+2小时编码+1小时总结。预计2-3个月学完全部25课,达到中级PyTorch工程师水平。
八、课后总结
核心知识点回顾
- 概念层次:人工智能 ⊃ 机器学习 ⊃ 深度学习
- 神经网络本质:
输出 = 激活函数(权重 × 输入 + 偏置),通过反向传播 + 梯度下降学习参数 - PyTorch核心优势:动态计算图(易调试)、Pythonic(上手快)、学术界统治地位(论文复现容易)
- 学习路线:筑基(1-11)→ 进阶(12-20)→ 工程(21-24)→ 实战(25)
- 心态准备:先跑通代码,再补理论,不用被数学吓倒
学习检查清单
学完这一课,你能回答以下问题吗?
- 深度学习和传统机器学习最大的区别是什么?
- 神经网络中的“权重”和“偏置”是干什么的?
- 为什么PyTorch在学术界比TensorFlow更受欢迎?
- 本专栏25课分为哪四个篇章?每章的核心目标是什么?
- 如果我没有GPU,该怎么继续学习?
如果全部能答上来,恭喜你已经具备了正确的认知框架!
九、课后作业
作业1:概念梳理(不用写代码)
用你自己的话(不要复制粘贴)回答以下问题,写在备忘录或笔记本上:
- 用一个生活化的比喻解释“反向传播”和“梯度下降”的关系。
- 假设你想让AI学会玩《超级玛丽》,你会怎么设计神经网络?需要输入什么?输出什么?损失函数怎么定义?
- 去PyTorch官网(pytorch.org)浏览10分钟,找到“Tutorials”页面下有没有你感兴趣的示例。
作业2:环境准备(为第2课热身)
- 去Anaconda官网下载对应你系统的安装包(不用安装,只是先下载好)
- 检查你的电脑是否有NVIDIA显卡(Win:任务管理器→性能→GPU;Mac:关于本机→系统报告→图形卡)
- 如果没有NVIDIA显卡也没关系,第2课会教纯CPU版本
作业3:预习任务
- 百度/谷歌搜索“PyTorch tensor”,粗略了解张量和数组的区别
- 搜一下“CUDA vs CPU”,了解显卡加速的原理(不要求完全理解,有个印象即可)
作业提交建议
虽然这是自学专栏,但强烈建议你:
- 把作业1的答案发到学习群/知乎/博客,输出是最好的输入
- 环境准备遇到问题就搜一下,第2课会系统讲解,不用焦虑
十、下一课预告
第2课我们将手把手搭建PyTorch开发环境,覆盖:
- Windows/Mac/Linux全平台安装流程
- Anaconda虚拟环境管理
- CUDA加速配置(有显卡的同学)
- Jupyter Notebook + PyCharm配置
- 常见环境报错完整解决方案
请确保在学第2课之前,你已经下载好Anaconda安装包。
🎉 恭喜你完成了深度学习认知的奠基!编程是“手艺”,从第2课开始我们就要真正写代码了。保持好奇心,多动手,遇到报错别慌(第23课会帮你兜底)。我们下节课见!
附录:本章提到的核心概念速查表
| 术语 | 一句话解释 |
|---|---|
| 深度学习 | 用多层神经网络自动提取特征的方法 |
| 神经网络 | 由大量简单神经元组成的计算系统 |
| 权重/偏置 | 网络需要学习的参数 |
| 激活函数 | 给网络引入非线性的函数 |
| 前向传播 | 从输入到输出的计算过程 |
| 损失函数 | 衡量预测与真实值差距的函数 |
| 反向传播 | 从输出到输入计算梯度的方法 |
| 梯度下降 | 沿梯度反方向更新参数的优化算法 |
| 动态计算图 | PyTorch的特色,边运行边构建计算图 |
| CUDA | NVIDIA的GPU加速平台 |
🔗《精讲25课|PyTorch 从入门到精通》系列课程导航
🌟 感谢您耐心阅读到这里!
💡 如果本文对您有所启发欢迎:
👍 点赞📌 收藏 📤 分享给更多需要的伙伴。
🗣️ 期待在评论区看到您的想法, 共同进步。
🔔 关注我,持续获取更多干货内容~
🤗 我们下篇文章见~
更多推荐


所有评论(0)