/Dive-into-DL-PyTorch

本项目将《动手学深度学习》(Dive into Deep Learning)原书中的MXNet代码实现改为PyTorch实现。

Primary LanguageJupyter NotebookApache License 2.0Apache-2.0

封面

本项目将《动手学深度学习》 原书中MXNet代码实现改为PyTorch实现。原书作者:阿斯顿·张、李沐、扎卡里 C. 立顿、亚历山大 J. 斯莫拉以及其他社区贡献者,GitHub地址:https://github.com/d2l-ai/d2l-zh

此书的版本存在一些不同,针对此书英文版的PyTorch重构可参考这个项目。 There are some differences between the Chinese and English versions of this book. For the PyTorch modifying of the English version, you can refer to this repo.

简介

本仓库主要包含code和docs两个文件夹(外加一些数据和图片存放在data和img中)。其中code文件夹就是每章相关jupyter notebook代码(基于PyTorch);docs文件夹就是markdown格式的《动手学深度学习》书中的相关内容,由于原书使用的是MXNet框架,所以docs内容可能与原书略有不同,但是整体内容是一样的。欢迎对本项目做出贡献或提出issue。

注:本仓库包含一些公式,但是github的markdown原生是不支持公式显示的,Chrome用户可以安装这个在github上显示公式的插件,但还是建议clone到本地用常用的markdown应用查看。所有章节更新完毕后会考虑新增pdf版本,欢迎关注。

面向人群

本项目面向对深度学习感兴趣,尤其是想使用PyTorch进行深度学习的童鞋。本项目并不要求你有任何深度学习或者机器学习的背景知识,你只需了解基础的数学和编程,如基础的线性代数、微分和概率,以及基础的Python编程。

目录

2. 预备知识

2.1 环境配置
2.2 数据操作
2.3 自动求梯度

3. 深度学习基础

3.1 线性回归
3.2 线性回归的从零开始实现
3.3 线性回归的简洁实现
3.4 softmax回归
3.5 图像分类数据集(Fashion-MNIST)
3.6 softmax回归的从零开始实现
3.7 softmax回归的简洁实现
3.8 多层感知机
3.9 多层感知机的从零开始实现
3.10 多层感知机的简洁实现
3.11 模型选择、欠拟合和过拟合
3.12 权重衰减
3.13 丢弃法
3.14 正向传播、反向传播和计算图
3.15 数值稳定性和模型初始化
3.16 实战Kaggle比赛:房价预测

4. 深度学习计算

4.1 模型构造
4.2 模型参数的访问、初始化和共享
4.3 模型参数的延后初始化
4.4 自定义层
4.5 读取和存储
4.6 GPU计算

5. 卷积神经网络

5.1 二维卷积层
5.2 填充和步幅
5.3 多输入通道和多输出通道
5.4 池化层
5.5 卷积神经网络(LeNet)
5.6 深度卷积神经网络(AlexNet)
5.7 使用重复元素的网络(VGG)
5.8 网络中的网络(NiN)
5.9 含并行连结的网络(GoogLeNet)
5.10 批量归一化
5.11 残差网络(ResNet)
5.12 稠密连接网络(DenseNet)

6. 循环神经网络

6.1 语言模型
6.2 循环神经网络
6.3 语言模型数据集(周杰伦专辑歌词)
6.4 循环神经网络的从零开始实现
6.5 循环神经网络的简洁实现
6.6 通过时间反向传播
6.7 门控循环单元(GRU)
6.8 长短期记忆(LSTM)
6.9 深度循环神经网络
6.10 双向循环神经网络

7. 优化算法

7.1 优化与深度学习
7.2 梯度下降和随机梯度下降
7.3 小批量随机梯度下降
7.4 动量法
7.5 AdaGrad算法
7.6 RMSProp算法
7.7 AdaDelta算法
7.8 Adam算法

8. 计算性能

8.1 命令式和符号式混合编程
8.2 异步计算
8.3 自动并行计算
8.4 多GPU计算

9. 计算机视觉

9.1 图像增广
9.2 微调
9.3 目标检测和边界框
待更新...

10. 自然语言处理

10.1 词嵌入(word2vec)
10.2 近似训练
10.3 word2vec的实现
10.4 子词嵌入(fastText)
10.5 全局向量的词嵌入(GloVe)
10.6 求近义词和类比词
10.7 文本情感分类:使用循环神经网络
10.8 文本情感分类:使用卷积神经网络(textCNN)
10.9 编码器—解码器(seq2seq)
10.10 束搜索
10.11 注意力机制
10.12 机器翻译

持续更新中......

原书地址

中文版:动手学深度学习 | Github仓库
English Version: Dive into Deep Learning | Github Repo

引用

如果您在研究中使用了这个项目请引用原书:

@book{zhang2019dive,
    title={Dive into Deep Learning},
    author={Aston Zhang and Zachary C. Lipton and Mu Li and Alexander J. Smola},
    note={\url{http://www.d2l.ai}},
    year={2019}
}