You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

176 lines
11 KiB

3 years ago
<div align=center>
<img width="500" src="img/cover.png" alt="封面"/>
</div>
[本项目](https://tangshusen.me/Dive-into-DL-PyTorch)将[《动手学深度学习》](http://zh.d2l.ai/) 原书中MXNet代码实现改为PyTorch实现。原书作者阿斯顿·张、李沐、扎卡里 C. 立顿、亚历山大 J. 斯莫拉以及其他社区贡献者GitHub地址https://github.com/d2l-ai/d2l-zh
此书的[中](https://zh.d2l.ai/)[英](https://d2l.ai/)版本存在一些不同针对此书英文版的PyTorch重构可参考[这个项目](https://github.com/dsgiitr/d2l-pytorch)。
There are some differences between the [Chinese](https://zh.d2l.ai/) and [English](https://d2l.ai/) versions of this book. For the PyTorch modifying of the English version, you can refer to [this repo](https://github.com/dsgiitr/d2l-pytorch).
## 简介
本仓库主要包含code和docs两个文件夹外加一些数据存放在data中。其中code文件夹就是每章相关jupyter notebook代码基于PyTorchdocs文件夹就是markdown格式的《动手学深度学习》书中的相关内容然后利用[docsify](https://docsify.js.org/#/zh-cn/)将网页文档部署到GitHub Pages上由于原书使用的是MXNet框架所以docs内容可能与原书略有不同但是整体内容是一样的。欢迎对本项目做出贡献或提出issue。
## 面向人群
本项目面向对深度学习感兴趣尤其是想使用PyTorch进行深度学习的童鞋。本项目并不要求你有任何深度学习或者机器学习的背景知识你只需了解基础的数学和编程如基础的线性代数、微分和概率以及基础的Python编程。
## 食用方法
### 方法一
本仓库包含一些latex公式但github的markdown原生是不支持公式显示的而docs文件夹已经利用[docsify](https://docsify.js.org/#/zh-cn/)被部署到了GitHub Pages上所以查看文档最简便的方法就是直接访问[本项目网页版](https://tangshusen.me/Dive-into-DL-PyTorch)。当然如果你还想跑一下运行相关代码的话还是得把本项目clone下来然后运行code文件夹下相关代码。
### 方法二
你还可以在本地访问文档,先安装`docsify-cli`工具:
``` shell
npm i docsify-cli -g
```
然后将本项目clone到本地:
``` shell
git clone https://github.com/ShusenTang/Dive-into-DL-PyTorch.git
cd Dive-into-DL-PyTorch
```
然后运行一个本地服务器,这样就可以很方便的在`http://localhost:3000`实时访问文档网页渲染效果。
``` shell
docsify serve docs
```
### 方法三
如果你不想安装`docsify-cli`工具,甚至你的电脑上都没有安装`Node.js`,而出于某些原因你又想在本地浏览文档,那么你可以在`docker`容器中运行网页服务。
首先将本项目clone到本地:
``` shell
git clone https://github.com/ShusenTang/Dive-into-DL-PyTorch.git
cd Dive-into-DL-PyTorch
```
之后使用如下命令创建一个名称为「d2dl」的`docker`镜像:
``` shell
docker build -t d2dl .
```
镜像创建好后,运行如下命令创建一个新的容器:
``` shell
docker run -dp 3000:3000 d2dl
```
最后在浏览器中打开这个地址`http://localhost:3000/#/`,就能愉快地访问文档了。适合那些不想在电脑上装太多工具的小伙伴。
## 目录
* [简介]()
* [阅读指南](read_guide.md)
* [1. 深度学习简介](chapter01_DL-intro/deep-learning-intro.md)
* 2\. 预备知识
* [2.1 环境配置](chapter02_prerequisite/2.1_install.md)
* [2.2 数据操作](chapter02_prerequisite/2.2_tensor.md)
* [2.3 自动求梯度](chapter02_prerequisite/2.3_autograd.md)
* 3\. 深度学习基础
* [3.1 线性回归](chapter03_DL-basics/3.1_linear-regression.md)
* [3.2 线性回归的从零开始实现](chapter03_DL-basics/3.2_linear-regression-scratch.md)
* [3.3 线性回归的简洁实现](chapter03_DL-basics/3.3_linear-regression-pytorch.md)
* [3.4 softmax回归](chapter03_DL-basics/3.4_softmax-regression.md)
* [3.5 图像分类数据集Fashion-MNIST](chapter03_DL-basics/3.5_fashion-mnist.md)
* [3.6 softmax回归的从零开始实现](chapter03_DL-basics/3.6_softmax-regression-scratch.md)
* [3.7 softmax回归的简洁实现](chapter03_DL-basics/3.7_softmax-regression-pytorch.md)
* [3.8 多层感知机](chapter03_DL-basics/3.8_mlp.md)
* [3.9 多层感知机的从零开始实现](chapter03_DL-basics/3.9_mlp-scratch.md)
* [3.10 多层感知机的简洁实现](chapter03_DL-basics/3.10_mlp-pytorch.md)
* [3.11 模型选择、欠拟合和过拟合](chapter03_DL-basics/3.11_underfit-overfit.md)
* [3.12 权重衰减](chapter03_DL-basics/3.12_weight-decay.md)
* [3.13 丢弃法](chapter03_DL-basics/3.13_dropout.md)
* [3.14 正向传播、反向传播和计算图](chapter03_DL-basics/3.14_backprop.md)
* [3.15 数值稳定性和模型初始化](chapter03_DL-basics/3.15_numerical-stability-and-init.md)
* [3.16 实战Kaggle比赛房价预测](chapter03_DL-basics/3.16_kaggle-house-price.md)
* 4\. 深度学习计算
* [4.1 模型构造](chapter04_DL_computation/4.1_model-construction.md)
* [4.2 模型参数的访问、初始化和共享](chapter04_DL_computation/4.2_parameters.md)
* [4.3 模型参数的延后初始化](chapter04_DL_computation/4.3_deferred-init.md)
* [4.4 自定义层](chapter04_DL_computation/4.4_custom-layer.md)
* [4.5 读取和存储](chapter04_DL_computation/4.5_read-write.md)
* [4.6 GPU计算](chapter04_DL_computation/4.6_use-gpu.md)
* 5\. 卷积神经网络
* [5.1 二维卷积层](chapter05_CNN/5.1_conv-layer.md)
* [5.2 填充和步幅](chapter05_CNN/5.2_padding-and-strides.md)
* [5.3 多输入通道和多输出通道](chapter05_CNN/5.3_channels.md)
* [5.4 池化层](chapter05_CNN/5.4_pooling.md)
* [5.5 卷积神经网络LeNet](chapter05_CNN/5.5_lenet.md)
* [5.6 深度卷积神经网络AlexNet](chapter05_CNN/5.6_alexnet.md)
* [5.7 使用重复元素的网络VGG](chapter05_CNN/5.7_vgg.md)
* [5.8 网络中的网络NiN](chapter05_CNN/5.8_nin.md)
* [5.9 含并行连结的网络GoogLeNet](chapter05_CNN/5.9_googlenet.md)
* [5.10 批量归一化](chapter05_CNN/5.10_batch-norm.md)
* [5.11 残差网络ResNet](chapter05_CNN/5.11_resnet.md)
* [5.12 稠密连接网络DenseNet](chapter05_CNN/5.12_densenet.md)
* 6\. 循环神经网络
* [6.1 语言模型](chapter06_RNN/6.1_lang-model.md)
* [6.2 循环神经网络](chapter06_RNN/6.2_rnn.md)
* [6.3 语言模型数据集(周杰伦专辑歌词)](chapter06_RNN/6.3_lang-model-dataset.md)
* [6.4 循环神经网络的从零开始实现](chapter06_RNN/6.4_rnn-scratch.md)
* [6.5 循环神经网络的简洁实现](chapter06_RNN/6.5_rnn-pytorch.md)
* [6.6 通过时间反向传播](chapter06_RNN/6.6_bptt.md)
* [6.7 门控循环单元GRU](chapter06_RNN/6.7_gru.md)
* [6.8 长短期记忆LSTM](chapter06_RNN/6.8_lstm.md)
* [6.9 深度循环神经网络](chapter06_RNN/6.9_deep-rnn.md)
* [6.10 双向循环神经网络](chapter06_RNN/6.10_bi-rnn.md)
* 7\. 优化算法
* [7.1 优化与深度学习](chapter07_optimization/7.1_optimization-intro.md)
* [7.2 梯度下降和随机梯度下降](chapter07_optimization/7.2_gd-sgd.md)
* [7.3 小批量随机梯度下降](chapter07_optimization/7.3_minibatch-sgd.md)
* [7.4 动量法](chapter07_optimization/7.4_momentum.md)
* [7.5 AdaGrad算法](chapter07_optimization/7.5_adagrad.md)
* [7.6 RMSProp算法](chapter07_optimization/7.6_rmsprop.md)
* [7.7 AdaDelta算法](chapter07_optimization/7.7_adadelta.md)
* [7.8 Adam算法](chapter07_optimization/7.8_adam.md)
* 8\. 计算性能
* [8.1 命令式和符号式混合编程](chapter08_computational-performance/8.1_hybridize.md)
* [8.2 异步计算](chapter08_computational-performance/8.2_async-computation.md)
* [8.3 自动并行计算](chapter08_computational-performance/8.3_auto-parallelism.md)
* [8.4 多GPU计算](chapter08_computational-performance/8.4_multiple-gpus.md)
* 9\. 计算机视觉
* [9.1 图像增广](chapter09_computer-vision/9.1_image-augmentation.md)
* [9.2 微调](chapter09_computer-vision/9.2_fine-tuning.md)
* [9.3 目标检测和边界框](chapter09_computer-vision/9.3_bounding-box.md)
* [9.4 锚框](chapter09_computer-vision/9.4_anchor.md)
* [9.5 多尺度目标检测](chapter09_computer-vision/9.5_multiscale-object-detection.md)
* [9.6 目标检测数据集(皮卡丘)](chapter09_computer-vision/9.6_object-detection-dataset.md)
- [ ] 9.7 单发多框检测SSD
* [9.8 区域卷积神经网络R-CNN系列](chapter09_computer-vision/9.8_rcnn.md)
* [9.9 语义分割和数据集](chapter09_computer-vision/9.9_semantic-segmentation-and-dataset.md)
- [ ] 9.10 全卷积网络FCN
* [9.11 样式迁移](chapter09_computer-vision/9.11_neural-style.md)
- [ ] 9.12 实战Kaggle比赛图像分类CIFAR-10
- [ ] 9.13 实战Kaggle比赛狗的品种识别ImageNet Dogs
* 10\. 自然语言处理
* [10.1 词嵌入word2vec](chapter10_natural-language-processing/10.1_word2vec.md)
* [10.2 近似训练](chapter10_natural-language-processing/10.2_approx-training.md)
* [10.3 word2vec的实现](chapter10_natural-language-processing/10.3_word2vec-pytorch.md)
* [10.4 子词嵌入fastText](chapter10_natural-language-processing/10.4_fasttext.md)
* [10.5 全局向量的词嵌入GloVe](chapter10_natural-language-processing/10.5_glove.md)
* [10.6 求近义词和类比词](chapter10_natural-language-processing/10.6_similarity-analogy.md)
* [10.7 文本情感分类:使用循环神经网络](chapter10_natural-language-processing/10.7_sentiment-analysis-rnn.md)
* [10.8 文本情感分类使用卷积神经网络textCNN](chapter10_natural-language-processing/10.8_sentiment-analysis-cnn.md)
* [10.9 编码器—解码器seq2seq](chapter10_natural-language-processing/10.9_seq2seq.md)
* [10.10 束搜索](chapter10_natural-language-processing/10.10_beam-search.md)
* [10.11 注意力机制](chapter10_natural-language-processing/10.11_attention.md)
* [10.12 机器翻译](chapter10_natural-language-processing/10.12_machine-translation.md)
持续更新中......
## 原书地址
中文版:[动手学深度学习](https://zh.d2l.ai/) | [Github仓库](https://github.com/d2l-ai/d2l-zh)
English Version: [Dive into Deep Learning](https://d2l.ai/) | [Github Repo](https://github.com/d2l-ai/d2l-en)
## 引用
如果您在研究中使用了这个项目请引用原书:
```
@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={2020}
}
```