本书首先从深度学习的原理出发,介绍如何把深度学习的理论转换为PyTorch代码,然后介绍如何在计算机上运行这些代码。作为一本面向初中级读者的技术类图书,本书在前面所述内容的基础上,还介绍了学术界前沿的一系列实例,以及PyTorch的源代码结构,以期读者能够融会贯通深度学习框架的设计和应用的思想。
作者简介:
张校捷,英伟达(NVIDIA)资深深度学习架构工程师,负责基于CUDA的深度学习框架的优化。目前主要使用的技术栈是作为深度学习框架后端的C/C++/CUDA,以及深度学习框架前端的Python,对主流的深度学习框架如PyTorch和TensorFlow比较熟悉,并精通其在计算机视觉(CV)和自然语言处理(NLP)方面的具体应用。 作者多次作为专题演讲嘉宾,受邀参加CSDN主办的技术大会。
目录:
第1章 深度学习概念简介 1
1.1 深度学习的历史 1
1.2 机器学习基本概念 7
1.3 深度学习基本概念 13
1.4 输入数据的表示方式 19
1.5 线性变换和激活函数 25
1.6 链式求导法则和反向传播 31
1.7 损失函数和优化器 36
1.8 本章总结 42
第2章 PyTorch深度学习框架简介 43
2.1 深度学习框架简介 43
2.2 PyTorch框架历史和特性更迭 46
2.3 PyTorch的安装过程 48
2.4 PyTorch包的结构 51
2.5 PyTorch中张量的创建和维度的操作 58
2.6 PyTorch中张量的运算 69
2.7 PyTorch中的模块简介 81
2.8 PyTorch的计算图和自动求导机制 86
2.9 PyTorch的损失函数和优化器 89
2.10 PyTorch中数据的输入和预处理 95
2.11 PyTorch模型的保存和加载 100
2.12 PyTorch数据的可视化 104
2.13 PyTorch模型的并行化 109
2.14 本章总结 115
第3章 PyTorch计算机视觉模块 118
3.1 计算机视觉基本概念 119
3.2 线性层 125
3.3 卷积层 127
3.4 归一化层 136
3.5 池化层 143
3.6 丢弃层 148
3.7 模块的组合 150
3.8 特征提取 152
3.9 模型初始化 156
3.10 常见模型结构 159
3.11 本章总结 166
第4章 PyTorch机器视觉案例 168
4.1 常见计算机视觉任务和数据集 167
4.2 手写数字识别:LeNet 174
4.3 图像分类:ResNet和InceptionNet 186
4.4 目标检测:SSD 203
4.5 图像分割:FCN和U-Net 218
4.6 图像风格迁移 227
4.7 生成模型:VAE和GAN 235
4.8 本章总结 247
第5章 PyTorch自然语言处理模块 249
5.1 自然语言处理基本概念 249
5.2 词嵌入层 259
5.3 循环神经网络层:GRU和LSTM 265
5.4 注意力机制 278
5.5 自注意力机制 282
5.6 本章总结 291
第6章 PyTorch自然语言处理案例 293
6.1 word2vec算法训练词向量 293
6.2 基于循环神经网络的情感分析 300
6.3 基于循环神经网络的语言模型 303
6.4 Seq2Seq模型及其应用 309
6.5 BERT模型及其应用 319
6.6 本章总结 326
第7章 其他重要模型 328
7.1 基于宽深模型的推荐系统 328
7.2 DeepSpeech模型和CTC损失函数 333
7.3 使用Tacotron和WaveNet进行语音合成 340
7.4 基于DQN的强化学习算法 358
7.5 使用半精度浮点数训练模型 367
7.6 本章总结 371
第8章 PyTorch高级应用 372
8.1 PyTorch自定义激活函数和梯度 372
8.2 在PyTorch中编写扩展 374
8.3 正向传播和反向传播的钩子 382
8.4 PyTorch的静态计算图 385
8.5 静态计算图模型的保存和使用 390
8.6 本章总结 393
第9章 PyTorch源代码解析 394
9.1 ATen张量计算库简介 394
9.2 C++的Python接口 397
9.3 csrc模块简介 401
9.4 autograd和自动求导机制 405
9.5 C10张量计算库简介 406
9.6 本章总结 408
参考文献 409
点击下载