Video Library

视频中心

每个视频都绑定一篇文章和一节课程。先用视频抓住主线,再回到正文看代码、自检题和参考答案。

深度学习项目标准模板:训练、验证、日志和配置第 68 课最新视频深度学习项目标准模板:训练、验证、日志和配置

AI 入门与 PyTorch 基础(1~20)

20 个视频,按学习路线顺序排列。

传统机器学习基础(21~34)

14 个视频,按学习路线顺序排列。

随机森林为什么比单棵树更稳第 32 课
第 32 课已完成

随机森林为什么比单棵树更稳

理解随机森林的 Bagging 思想、有放回抽样、随机特征选择、投票机制和常用参数。

传统机器学习基础(21~34):拿到一份结构化表格数据,独立完成清洗、特征工程、建模、评估、模型选择和保存,并用规范流程比较多个算法。

文本分类项目(35~42)

8 个视频,按学习路线顺序排列。

PyTorch 深度学习基础(43~58)

16 个视频,按学习路线顺序排列。

Tensor 进阶:dtype、device、索引和切片第 43 课
第 43 课已完成

Tensor 进阶:dtype、device、索引和切片

补齐 PyTorch 实际训练中最常用的 Tensor 操作:数据类型、设备迁移、索引、切片和布尔筛选。

PyTorch 深度学习基础(43~58):独立搭建一个 PyTorch 训练脚本,正确处理 Shape、device、梯度清空、优化器选择和学习率策略,并能根据 loss/accuracy 曲线诊断训练问题。

计算图与梯度累积:为什么训练前必须清空梯度第 45 课
第 45 课已完成

计算图与梯度累积:为什么训练前必须清空梯度

你写了 optimizer.zero_grad() 却不知道为什么要写。这一篇把 PyTorch 的动态计算图、叶子节点和梯度累积机制讲透,让你彻底明白"清梯度"不是仪式,是物理必然。

PyTorch 深度学习基础(43~58):独立搭建一个 PyTorch 训练脚本,正确处理 Shape、device、梯度清空、优化器选择和学习率策略,并能根据 loss/accuracy 曲线诊断训练问题。

Shape 是深度学习最重要的数据契约第 46 课
第 46 课已完成

Shape 是深度学习最重要的数据契约

深度学习代码 80% 的报错都是 Shape 不匹配。但 Shape 不只是维度对齐,它是模型每一层之间的数据契约。这篇把 batch、特征、类别维度和常见的 Shape 流水线一次讲透。

PyTorch 深度学习基础(43~58):独立搭建一个 PyTorch 训练脚本,正确处理 Shape、device、梯度清空、优化器选择和学习率策略,并能根据 loss/accuracy 曲线诊断训练问题。

reshape、view、transpose 和广播机制怎么选:张量形状转换实战第 47 课
第 47 课已完成

reshape、view、transpose 和广播机制怎么选:张量形状转换实战

reshape 和 view 看起来一样,transpose 和 permute 也像兄弟,广播机制报错信息又长又看不懂。这篇用最小代码讲清它们的区别,让你不再瞎试。

PyTorch 深度学习基础(43~58):独立搭建一个 PyTorch 训练脚本,正确处理 Shape、device、梯度清空、优化器选择和学习率策略,并能根据 loss/accuracy 曲线诊断训练问题。

自定义 Dataset:怎样封装自己的训练数据第 48 课
第 48 课已完成

自定义 Dataset:怎样封装自己的训练数据

PyTorch 内置数据集只够入门练手。真实项目里你的数据可能是 CSV、文件夹图片、JSON 文本——这时候必须自己写 Dataset。这篇把 __len__ 和 __getitem__ 讲透,附带三个真实场景。

PyTorch 深度学习基础(43~58):独立搭建一个 PyTorch 训练脚本,正确处理 Shape、device、梯度清空、优化器选择和学习率策略,并能根据 loss/accuracy 曲线诊断训练问题。

DataLoader 进阶:batch、shuffle 与并行加载怎样影响训练效率第 49 课
第 49 课已完成

DataLoader 进阶:batch、shuffle 与并行加载怎样影响训练效率

第 17 篇你学了 DataLoader 的基本用法。但 batch_size 调多大、shuffle 为什么必须开、num_workers 设几、drop_last 有什么用——这些细节决定训练是 5 分钟还是 5 小时。

PyTorch 深度学习基础(43~58):独立搭建一个 PyTorch 训练脚本,正确处理 Shape、device、梯度清空、优化器选择和学习率策略,并能根据 loss/accuracy 曲线诊断训练问题。

nn.Module 详解:模型为什么要继承这个类第 50 课
第 50 课已完成

nn.Module 详解:模型为什么要继承这个类

所有 PyTorch 模型都继承 nn.Module。但你可能不知道,它帮你做了参数注册、子模块管理、train/eval 切换、设备迁移四件大事。这篇把 nn.Module 的黑盒拆开。

PyTorch 深度学习基础(43~58):独立搭建一个 PyTorch 训练脚本,正确处理 Shape、device、梯度清空、优化器选择和学习率策略,并能根据 loss/accuracy 曲线诊断训练问题。

权重、偏置和参数初始化会怎样影响训练第 51 课
第 51 课已完成

权重、偏置和参数初始化会怎样影响训练

把所有权重初始化成 0,模型直接学不动。初始化成太大的随机数,梯度爆炸。初始化是训练的起跑线,起跑线错了后面全白费。这篇讲清为什么初始化重要、常见方法怎么选。

PyTorch 深度学习基础(43~58):独立搭建一个 PyTorch 训练脚本,正确处理 Shape、device、梯度清空、优化器选择和学习率策略,并能根据 loss/accuracy 曲线诊断训练问题。

SGD 与 Momentum:最基础的优化器怎样更新参数第 52 课
第 52 课已完成

SGD 与 Momentum:最基础的优化器怎样更新参数

梯度下降是所有优化器的祖宗。SGD 是最朴素的实现,Momentum 加了惯性。搞懂这两个,才能理解后面 Adam 在"智能"什么。

PyTorch 深度学习基础(43~58):独立搭建一个 PyTorch 训练脚本,正确处理 Shape、device、梯度清空、优化器选择和学习率策略,并能根据 loss/accuracy 曲线诊断训练问题。

AdaGrad 与 RMSProp:学习率如何自动调整第 53 课
第 53 课已完成

AdaGrad 与 RMSProp:学习率如何自动调整

SGD 给所有参数同一个学习率。但有些参数变化剧烈、有些几乎不动,统一步长不合理。AdaGrad 和 RMSProp 让每个参数有自己的自适应学习率。

PyTorch 深度学习基础(43~58):独立搭建一个 PyTorch 训练脚本,正确处理 Shape、device、梯度清空、优化器选择和学习率策略,并能根据 loss/accuracy 曲线诊断训练问题。

Adam 和 AdamW 为什么成为常用选择第 54 课
第 54 课已完成

Adam 和 AdamW 为什么成为常用选择

Adam 把 Momentum 的"方向惯性"和 RMSProp 的"自适应步长"合体,开箱即用。AdamW 修复了 Adam 权重衰减的耦合 bug,成为 Transformer 的标配。

PyTorch 深度学习基础(43~58):独立搭建一个 PyTorch 训练脚本,正确处理 Shape、device、梯度清空、优化器选择和学习率策略,并能根据 loss/accuracy 曲线诊断训练问题。

学习率决定什么:衰减策略与训练曲线第 55 课
第 55 课已完成

学习率决定什么:衰减策略与训练曲线

学习率是训练里最敏感的超参数——太大 loss 爆炸,太小 loss 不动。这篇讲清怎么判断学习率过大过小,以及 StepLR、CosineAnnealing 等衰减策略怎么选。

PyTorch 深度学习基础(43~58):独立搭建一个 PyTorch 训练脚本,正确处理 Shape、device、梯度清空、优化器选择和学习率策略,并能根据 loss/accuracy 曲线诊断训练问题。

PyTorch GPU 训练:模型和数据如何放到同一设备第 56 课
第 56 课已完成

PyTorch GPU 训练:模型和数据如何放到同一设备

RuntimeError: Expected all tensors to be on the same device —— 这是你用 GPU 训练时最常遇到的报错。模型在 GPU、数据在 CPU,它们碰不到一起。这篇讲清设备迁移的完整流程。

PyTorch 深度学习基础(43~58):独立搭建一个 PyTorch 训练脚本,正确处理 Shape、device、梯度清空、优化器选择和学习率策略,并能根据 loss/accuracy 曲线诊断训练问题。

正则化、Dropout 与 Early Stopping:防止过拟合的方法地图第 57 课
第 57 课已完成

正则化、Dropout 与 Early Stopping:防止过拟合的方法地图

模型训练集准确率 99%,测试集只有 70%——这是过拟合。Weight Decay、Dropout、Early Stopping、数据增强怎么选?这篇建立完整的正则化方法地图。

PyTorch 深度学习基础(43~58):独立搭建一个 PyTorch 训练脚本,正确处理 Shape、device、梯度清空、优化器选择和学习率策略,并能根据 loss/accuracy 曲线诊断训练问题。

怎样根据 loss、accuracy 和梯度诊断训练问题第 58 课
第 58 课已完成

怎样根据 loss、accuracy 和梯度诊断训练问题

训练 loss 不降?降了又升?训练好测试差?这篇把前面所有训练知识串成一套系统化的诊断流程,让你看曲线就知道问题在哪。

PyTorch 深度学习基础(43~58):独立搭建一个 PyTorch 训练脚本,正确处理 Shape、device、梯度清空、优化器选择和学习率策略,并能根据 loss/accuracy 曲线诊断训练问题。

深度学习项目

10 个视频,按学习路线顺序排列。

模型保存、加载和批量推理实战第 63 课
第 63 课更新中

模型保存、加载和批量推理实战

训练好的模型不能只活在内存里。这篇讲清怎么把模型存成文件、怎么加载回来预测、怎么做批量推理,以及断点续训的完整做法。

深度学习项目:能独立完成一个完整深度学习项目,从数据到推理全流程,并整理出可复用的项目目录结构。

第一个 CNN 图像分类训练项目第 66 课
第 66 课更新中

第一个 CNN 图像分类训练项目

从数据增强、CNN、训练循环、验证指标到保存最佳权重,完整跑通一个 PyTorch 图像分类项目,并理解每一段代码为什么存在。

深度学习项目:能独立完成一个完整深度学习项目,从数据到推理全流程,并整理出可复用的项目目录结构。