mlwithme/DeepLearningWithMe
Star246 Fork42 最后更新2026-07-11

本仓库是图书《跟我一起学深度学习》的配套代码仓库, 覆盖 CNN、RNN、ResNet、DenseNet、LSTM、GRU、Transformer、Attention、BERT、GPT、百川大模型等 10 章内容的 PyTorch 实现过程与可视化代码,助力你轻松迈入机器学习的大门!

仓库简介#

DeepLearningWithMe 是书籍《跟我一起学深度学习》 的配套代码与资源仓库, 关于本书的介绍可以参见文章「《跟我一起学深度学习》第一版」的介绍。同时,你也可以 「点击此处」 进行在线阅读。

适用人群#

  • 正在阅读本站深度学习栏目、希望按章节动手复现的学习者;
  • 入门阶段需要"数形结合"讲解 + 从零实现参考的读者;
  • 希望系统理解 Transformer / BERT / GPT / 大语言模型原理与实现的研究 / 工程人员。

内容结构#

  • Code/ — 主版本代码, 已通过 Python 3.9 测试, 通过 requirements_py39.txt 一键安装依赖:
    • Chapter02 ~ Chapter10: 按书章节组织的 PyTorch 实现;
    • utils/: 数据加载、训练可视化、模型保存等通用工具;
    • data/: 示例数据集与预处理脚本;
    • test/gpu_test.py: 训练环境检测脚本;
  • Archived/ — 旧版归档 (5 大模块: DeepForwardNN、ConvolutionalNN、RecurrentNN、ModelTraining、Transformer), 仅供对照参考;

配套章节#

以下 10 个章节均配套 PyTorch Python 实现 代码与可视化示例,覆盖 CNN、RNN、Transformer、BERT、GPT、ChatGPT 等主流深度学习模型的 Python 教程与从零实现,适合作为 PyTorch 实战与深度学习 Python 实现的入门到进阶配套资料。

章节 重点小节
第 1 章 深度学习简介 深度学习发展阶段:感知机到 Transformer 与 GPT 演进
深度学习关键人物:AI 三巨头与图灵、明斯基
深度学习框架:PyTorch、TensorFlow、Caffe、Keras 演进
第 2 章 环境配置 深度学习开发环境体系结构:CUDA、cuDNN 与框架依赖
CUDA、PyTorch 与依赖深度学习环境安装教程
Jupyter Notebook 与 PyCharm 深度学习开发环境配置
第 3 章 深度学习基础 深度学习线性回归入门:多项式回归与神经网络建模基础
反向传播与梯度下降:梯度消失与爆炸的解决方法
Softmax 回归原理:从逻辑回归到多分类与深度学习特征抽象
过拟合与正则化:L2 正则化与泛化误差分析
激活函数原理:Sigmoid、Tanh、ReLU 与 LeakyReLU
第 4 章 卷积神经网络 卷积神经网络基础:图像不变性与卷积操作原理
卷积计算过程:卷积核、多卷积、步长、可视野与特征提取原理
LeNet5 网络:经典卷积神经网络结构入门
AlexNet 网络:ReLU、Dropout 与 GPU 训练设计思想
ResNet 原理:残差结构、退化问题与网络实现
第 5 章 模型训练与复用 深度学习参数及日志管理:ModelConfig 配置类与 logging 模块实战
Tensorboard 使用教程:训练日志可视化与监控
PyTorch 模型保存与加载:复用与权重管理
迁移学习教程:预训练模型微调与图像分类实战
多 GPU 训练:数据并行、模型并行与 PyTorch 实现
第 6 章 模型优化方法 Transformers 学习率调度器:constant、linear、cosine 与 warmup 策略实战
梯度裁剪:训练不稳定时如何控制梯度爆炸
BatchNorm 原理:批归一化为什么能加速训练
动量法原理:指数加权平均与梯度下降加速
Adam 算法原理:一阶矩、二阶矩与偏差校正详解
第 7 章 循环神经网络 RNN 原理:循环神经网络结构与 BPTT 反向传播算法
时序数据建模:时序图片与时序文本的 RNN 分类实战
LSTM 原理:长短期记忆网络与门控机制详解
GRU 原理:门控循环单元与 RNN 改进方法
BiRNN 原理:双向循环神经网络结构与序列标注
第 8 章 时序与模型融合 TextCNN 文本分类:卷积神经网络做文本建模
TextRNN 原理:循环神经网络做文本分类
CNN-RNN 模型:卷积与循环网络融合方法
ConvLSTM 原理:时空序列预测与卷积循环模型
STResNet 网络:时空预测中的残差建模方法
第 9 章 自然语言处理 Word2Vec 原理:词向量训练与语义表示方法
GloVe 词向量:全局统计词向量建模方法
Seq2Seq 教程:编码器解码器结构与序列生成
注意力机制原理:Query-Key-Value 权重计算与 Seq2Seq 应用
含注意力的 NMT 网络:Bahdanau 与 Luong 注意力实现
第 10 章 现代神经网络 Transformer 结构:编码器解码器整体架构解析
BERT 原理:双向编码器预训练模型解析
GPT-1 模型:生成式预训练模型入门
InstructGPT 与 ChatGPT:指令对齐与对话模型演进
ChatGPT 与提示词工程:提示词设计方法与实践

使用方式#

git clone https://github.com/mlwithme/DeepLearningWithMe.git
cd DeepLearningWithMe/Code
pip install -r requirements_py39.txt
python gpu_test.py   # 可选, 验证 GPU 环境

进入对应 ChapterXX 目录, 按 README 与正文提示运行示例脚本即可。Python 版本推荐 3.9。

相关链接#