课程目录
以下是一个关于 2025 版 PyTorch 入门到实战教程的介绍1

入门阶段

  • 安装 PyTorch:根据自身环境选择合适的安装方式,如通过pipconda安装。可以从 PyTorch 官方网站获取安装命令,注意选择与自己的 CUDA 版本、操作系统等匹配的版本。

  • Tensor 基础操作:学习创建 Tensor,它类似于 NumPy 数组,但能在 GPU 上运算。掌握 Tensor 的各种运算,如加减乘除等,以及与 NumPy 数组的相互转换。

  • 自动求导(Autograd):理解 Autograd 模块的基本概念,它能自动记录运算过程,在反向传播时自动计算梯度。要注意计算图在反向传播后默认会释放,若需多次反向传播,需设置retain_graph=True

  • 构建神经网络(nn 模块):了解所有神经网络模型都需继承nn.Module类,学会将多层组合形成复杂的网络结构。

  • 损失函数与优化器:定义合适的损失函数,如交叉熵损失函数,选择优化器,如 SGD 优化器,并掌握训练循环的基本流程。

进阶阶段

  • GPU 加速与多 GPU 使用:学会将模型和数据迁移到 GPU 上,利用nn.DataParallel实现模型的多 GPU 训练。

  • 数据加载与预处理(torch.utils.data):自定义数据集,需继承torch.utils.data.Dataset并重写__len____getitem__方法。使用torchvision.transforms对图像数据进行常见的预处理操作,如裁剪、归一化、随机翻转等。

  • 自定义模型与层:除使用内置的层,还可根据需求自定义层或模块,并在复杂模型中实现模块嵌套,进行层级化设计。

  • 模型调试与可视化:利用 Python 调试器(如pdb)或 IDE 自带的调试工具对模型前向传播、反向传播过程进行跟踪。使用TensorBoardX或其他可视化工具监视训练过程中的损失、准确率等指标。

  • 高级训练技巧:通过torch.optim.lr_scheduler动态调整学习率,如使用StepLRReduceLROnPlateau等。掌握模型保存与加载的方法。

实战应用阶段

  • 迁移学习与预训练模型:借助torchvision.models中的预训练模型(如 ResNet、VGG)进行微调或特征提取。

  • 分布式训练和多机训练:利用torch.distributed包实现跨 GPU、跨节点训练,了解DistributedDataParallel(DDP)等方法,以及使用torch.distributed.launch脚本启动分布式训练任务。

  • 模型优化与调参:运用网格搜索、随机搜索或贝叶斯优化等方法对学习率、正则化系数等超参数进行调优。使用 Dropout、Batch Normalization 等正则化技术提高模型的泛化能力,还可利用torch.cuda.amp实现混合精度训练,提升训练速度并降低显存占用。

  • 实战项目:进行图像分类任务,利用 CIFAR - 10、ImageNet 等数据集搭建卷积神经网络(CNN);在自然语言处理领域,使用 RNN、LSTM、Transformer 等模型解决文本生成、机器翻译、情感分析等问题;构建生成对抗网络(GAN)进行图像生成任务等。

  • 框架内部源码阅读与扩展:深入阅读 PyTorch 的核心模块(如 Autograd、nn.Module)源码,理解底层实现原理,以便更好地扩展或定制功能。基于 PyTorch 自定义 C++ 扩展或 Python API,结合高性能计算需求打造个性化的深度学习工具。

          课程目录
【基础入门】001.Pytorch介绍课程导学
002.初识Pytorch基本框架
003.环境配置(1)
004.环境配置(2)
005.机器学习中的分类与回归问题-机器学习基本构成元素
006.Tensor的基本定义
007.Tensor与机器学习的关系
008.Tensor创建编程实例
009.Tensor的属性
010.Tensor的属性-稀疏的张量的编程实践
011.Tensor的算术运算
012.Tensor的算术运算编程实例
013.in-place的概念和广播机制
014.取整-余
015.比较运算-排序-topk-kthvalue-数据合法性校验
016.三角函数
017.其他数学函数
018.Pytorch与统计学方法
019.Pytorch与分布函数
020.Pytorch与随机抽样
021.Pytorch与线性代数运算
022.Pytorch与矩阵分解-PCA
023.Pytorch与矩阵分解-SVD分解-LDA
024.Pytorch与张量裁剪
025.Pytorch与张量的索引与数据筛选
026.Pytorch与张量组合与拼接
027.Pytorch与张量切片
028.Pytorch与张量变形
029.Pytorch与张量填充
030.Pytorch与傅里叶变换
031.Pytorch简单编程技巧
032.Pytorch与autograd-导数-方向导数-偏导数-梯度的概念
033.Pytorch与autograd-梯度与机器学习最优解
034.Pytorch与autograd-Variable$tensor
035.Pytorch与autograd-如何计算梯度
036.Pytorch与autograd中的几个重要概念-variable-grad-gradfn
037.Pytorch与autograd中的几个重要概念-function
038.Pytorch与nn库
039.Pytorch与visdom
040.Pytorch与tensorboardX
041.Pytorch与torchvision
042.机器学习和神经网络的基本概念(1)
043.机器学习和神经网络的基本概念(2)
044.利用神经网络解决分类和回归问题(1)
045.利用神经网络解决分类和回归问题(2)
046.利用神经网络解决分类和回归问题(3)
047.利用神经网络解决分类和回归问题(4)
048.利用神经网络解决分类和回归问题(5)
049.计算机视觉基本概念
050.图像处理常见概念
051.特征工程
052.卷积神经网(上)
053.卷积神经网(下)
054.pooling层
055.激活层-BN层-FC层-损失层
056.经典卷积神经网络结构
057.轻量型网络结构
058.多分支网络结构
059.attention的网络结构
060.学习率
061.优化器
062.卷积神经网添加正则化
【实战任务】01.图像分类网络模型框架解读(上)
02.图像分类网络模型框架解读(下)
03.cifar10数据介绍-读取-处理(上)
04.cifar10数据介绍-读取-处理(下)
05.PyTorch自定义数据加载-加载Cifar10数据
06.PyTorch搭建 VGGNet 实现Cifar10图像分类
07.PyTorch搭建cifar10训练脚本-tensorboard记录LOG(上)
08.PyTorch搭建cifar10训练脚本-tensorboard记录LOG(下)
09.PyTorch搭建cifar10训练脚本搭建-ResNet结构(上)
10.PyTorch搭建cifar10训练脚本搭建-ResNet结构(下)
11.PyTorch搭建cifar10训练脚本搭建-Mobilenetv1结构
12.PyTorch搭建cifar10训练脚本搭建-Inception结构(上)
13.PyTorch搭建cifar10训练脚本搭建-Inception结构(下)
14.PyTorch搭建cifar10训练脚本搭建-调用Pytorch标准网络ResNet18等
15.PyTorch搭建cifar10推理测试脚本搭建
16.分类问题优化思路
17.分类问题最新研究进展和方向
01.目标检测问题介绍(上)
02.目标检测问题介绍(下)
03.Pascal.VOC-COCO数据集介绍
04.MMdetection框架介绍-安装说明
05.MMdetection框架使用说明
06.MMdetection训练Passcal.VOC目标检测任务(上)
07.MMdetection训练Passcal.VOC目标检测任务(中)
08.MMdetection训练Passcal.VOC目标检测任务(下)
09.MMdetection.Test脚本
10.MMdetection.LOG分析
01.图像分割基本概念
02.图像分割方法介绍
03.图像分割评价指标及目前面临的挑战
04.COCO数据集介绍
05.detectron框架介绍和使用简单说明
06.coco数据集标注文件解析
07.detectron源码解读和模型训练-demo测试
01.GAN的基础概念和典型模型介绍(上)
02.GAN的基础概念和典型模型介绍(下)
03.图像风格转换数据下载与自定义dataset类
04.cycleGAN模型搭建-model
05.cycleGAN模型搭建-train(上)
06.cycleGAN模型搭建-train(下)
07.cycleGAN模型搭建-test
01.RNN网络基础
02.RNN常见网络结构-simple.RNN网络
03.Bi-RNN网络
04.LSTM网络基础
05.Attention结构
06.Transformer结构
07.BERT结构
08.NLP基础概念介绍
01.文本情感分析-情感分类概念介绍
02.文本情感分类关键流程介绍
03.文本情感分类之文本预处理
04.文本情感分类之特征提取与文本表示
05.文本情感分类之深度学习模型
06.文本情感分类-数据准备
07.文本情感分类-dataset类定义
08.文本情感分类-model类定义
09.文本情感分类-train脚本定义
10.文本情感分类-test脚本定义
01.机器翻译相关方法-应用场景-评价方法
02.Seq2Seq-Attention编程实例数据准备-模型结构-相关函数
03.Seq2Seq-Attention编程实例-定义数据处理模块
04.Seq2Seq-Attention编程实例-定义模型结构模块(上)
05.Seq2Seq-Attention编程实例-定义模型结构模块(下)
06.Seq2Seq-Attention编程实例-定义train模块(上)
07.Seq2Seq-Attention编程实例-定义train模块(下)
08.Seq2Seq-Attention编程实例-定义train模块-loss.function
09.Seq2Seq-Attention编程实例-定义eval模块
01.PyTorch模型开发与部署基础平台介绍
02.PyTorch工程化基础--Torchscript
03.PyTorch服务端发布平台--Torchserver
04.PyTorch终端推理基础--ONNX

邮箱
huangbenjincv@163.com