跳到主要内容
SUN / 笔记
← 全部文章

深度学习与 PyTorch

这组笔记整理自 D:\Codes\AI\111pytorch 中的个人笔记、Notebook、代码实验和项目资料。目标不是复制整个目录,而是把可复用的知识、训练方法和实验结论沉淀到笔记库中。

学习路线

flowchart LR
    A[张量与自动微分] --> B[数据管道与训练闭环]
    B --> C[CNN: LeNet 与 ResNet]
    B --> D[RNN 与自然语言推断]
    B --> E[GNN 与 PyTorch Geometric]
    C --> F[图像分类实验]
    D --> G[SNLI / 注意力实验]
    E --> H[节点分类 / 图分类 / 链路预测]
  1. PyTorch基础-张量与自动微分
    • 张量、形状、广播、设备与数据类型
    • 计算图、梯度累积、detach()、no_grad() 与 inference_mode()
  2. PyTorch训练流程-数据到验收
    • Dataset / DataLoader
    • 训练、验证、测试、检查点与可复现性
    • 一份可直接复用的分类训练模板
  3. CNN-LeNet与ResNet
    • 卷积网络的基本结构
    • LeNet 的逐层形状和 MNIST 实验
    • ResNet 残差连接与迁移学习
  4. RNN与自然语言推断
    • RNN、LSTM、GRU 的核心区别
    • SNLI 数据准备与 Decomposable Attention
  5. 图神经网络与PyTorch-Geometric
    • Data、edge_index、消息传递和 GCN
    • Cora、PPI、MUTAG、GraphSAGE 与有向图任务
  6. 实验项目与源码索引
    • 原始目录的完整分类和文件映射
    • Notebook、PDF、数据集、模型文件与第三方资料的保留策略

整理原则

  • 知识进入笔记库:提炼个人 Markdown、Notebook 解释和实验代码中的稳定结论。
  • 代码保留代表性片段:训练循环、模型结构、消息传递等写入笔记,完整工程仍保留在源目录。
  • 大文件只建索引:d2l-zh、数据集、模型权重、教程仓库和 PDF 不重复复制。
  • 修正旧写法:对已经失效、容易误解或实验口径不严谨的内容单独标注。
  • 不改源目录:本次没有移动或删除 D:\Codes\AI\111pytorch 中的任何文件。

这次重点修正的认识

原记录中的写法 整理后的结论
detach() 后的张量继续 backward() detach() 会切断计算图;结果默认不需要梯度,不能沿原图反传
Windows 建议固定 num_workers=0 0 适合调试;多进程可用,但要遵守 spawn 规则并加主入口保护
model.eval() 等同于关闭梯度 eval() 只切换 Dropout/BatchNorm 等模块行为;仍需 inference_mode() 或 no_grad()
pretrained=True TorchVision 现使用显式 Weights 枚举
每个 batch 的准确率再取平均 最后一个 batch 可能更小,应按样本数累计正确数和损失
MNIST 的 test_iter 每轮参与选最优模型 这相当于把测试集当验证集,记录的 97.97% 不能视作独立测试结果
Cora 同时写成 5429 条边和 10556 条边 原始引用关系与 PyG 中存储的有向边条目是不同口径,必须注明

主要依据

与现有笔记的关系

  • LLM 系统笔记 更偏向 GPU、Transformer、推理优化与并行。
  • 本目录更偏向经典深度学习、PyTorch 训练基本功、CNN/RNN/GNN 和实验实践。
  • RAG 专题 关注检索增强生成,不与这里重复。

相关文章

强化学习笔记 →上下文工程 →Mission: 掌握多模态 LoRA 与 QLoRA →