1 PyTorch简介 1
1.1 PyTorch的诞生 1
1.2常见的深度学习框架简介 2
1.2.1 Theano 3
1.2.2 TensorFlow 3
1.2.3 Keras 5
1.2.4 Caffe/Caffe2 5
1.2.5 MXNet 6
1.2.6 CNTK 7
1.2.7其他框架 8
1.3属于动态图的未来 8
1.4为什么选择PyTorch 10
1.5星火燎原 12
1.6 fast.ai放弃Keras+TensorFlow选择PyTorch 13
2快速入门 16
2.1安装与配置 16
2.1.1安装PyTorch 16
2.1.2学习环境配置 20
2.2 PyTorch入门第一步 30
2.2.1 Tensor 30
2.2.2 Autograd:自动微分 35
2.2.3神经网络 38
2.2.4小试牛刀:CIFAR-10分类 43
3 Tensor和autograd 51
3.1 Tensor 51
3.1.1基础操作 52
3.1.2 Tensor和Numpy 70
3.1.3内部结构 73
3.1.4其他有关Tensor的话题 76
3.1.5小试牛刀:线性回归 78
3.2 autograd 81
3.2.1 Variable 82
3.2.2计算图 86
3.2.3扩展autograd 94
3.2.4小试牛刀:用Variable实现线性回归 99
4神经网络工具箱nn 103
4.1 nn.Module 103
4.2常用的神经网络层 107
4.2.1图像相关层 107
4.2.2激活函数 110
4.2.3循环神经网络层 114
4.2.4损失函数 116
4.3优化器 116
4.4 nn.functional 118
4.5初始化策略 120
4.6 nn.Module深入分析 122
4.7 nn和autograd的关系 129
4.8小试牛刀:用50行代码搭建ResNet 130
5 PyTorch中常用的工具 135
5.1数据处理 135
5.2计算机视觉工具包:torchvision 147
5.3可视化工具 149
5.3.1 Tensorboard 150
5.3.2 visdom 152
5.4使用GPU加速:cuda 158
5.5持久化 161
6 PyTorch实战指南 164
6.1编程实战:猫和狗二分类 164
6.1.1比赛介绍 165
6.1.2文件组织架构 165
6.1.3关于__init__.py 167
6.1.4数据加载 167
6.1.5模型定义 170
6.1.6工具函数 171
6.1.7配置文件 174
6.1.8 main.py 176
6.1.9使用 184
6.1.10争议 185
6.2 PyTorch Debug指南 187
6.2.1 ipdb介绍 187
6.2.2在PyTorch中Debug 191
7 AI插画师:生成对抗网络 197
7.1 GAN的原理简介 198
7.2用GAN生成动漫头像 202
7.3实验结果分析 211
8 AI艺术家:神经网络风格迁移 215
8.1风格迁移原理介绍 216
8.2用PyTorch实现风格迁移 222
8.3实验结果分析 233
9 AI诗人:用RNN写诗 237
9.1自然语言处理的基础知识 237
9.1.1词向量 238
9.1.2 RNN 240
9.2 CharRNN 243
9.3用PyTorch实现CharRNN 246
9.4实验结果分析 257
10 Image Caption:让神经网络看图讲故事 260
10.1图像描述介绍 261
10.2数据 262
10.2.1数据介绍 262
10.2.2图像数据处理 270
10.2.3数据加载 272
10.3模型与训练 275
10.4实验结果分析 280
11展望与未来 282
11.1 PyTorch的局限与发展 282
11.2使用建议 286