PyTorch 2.0深度学习从零开始学
作者:王晓华
出版社:清华大学出版社
出版时间:2023-08-01
ISBN:9787302641087
定价:¥69.00
目 录
第1章 PyTorch 2.0—一个新的开始 1
1.1 燎原之势的人工智能 1
1.1.1 从无到有的人工智能 1
1.1.2 深度学习与人工智能 2
1.1.3 应用深度学习解决实际问题 2
1.1.4 深度学习技术的优势和挑战 3
1.2 为什么选择PyTorch 2.0 4
1.2.1 PyTorch的前世今生 4
1.2.2 更快、更优、更具编译支持—PyTorch 2.0更好的未来 4
1.2.3 PyTorch 2.0学习路径—从零基础到项目实战 5
1.3 本章小结 6
第2章 Hello PyTorch 2.0—深度学习环境搭建 7
2.1 安装Python 7
2.1.1 Miniconda的下载与安装 7
2.1.2 PyCharm的下载与安装 10
2.1.3 Python代码小练习:计算Softmax函数 13
2.2 安装PyTorch 2.0 14
2.2.1 Nvidia 10/20/30/40系列显卡选择的GPU版本 15
2.2.2 PyTorch 2.0 GPU Nvidia运行库的安装—以CUDA 11.7 cuDNN 8.2.0为例 15
2.2.3 PyTorch 2.0小练习:Hello PyTorch 18
2.3 实战:基于PyTorch 2.0的图像去噪 18
2.3.1 MNIST数据集的准备 18
2.3.2 MNIST数据集的特征和标签介绍 20
2.3.3 模型的准备和介绍 21
2.3.4 模型的损失函数与优化函数 24
2.3.5 基于深度学习的模型训练 24
2.4 本章小结 26
第3章 基于PyTorch的MNIST分类实战 27
3.1 实战:基于PyTorch的MNIST手写体分类 27
3.1.1 数据图像的获取与标签的说明 27
3.1.2 模型的准备(多层感知机) 29
3.1.3 损失函数的表示与计算 30
3.1.4 基于PyTorch的手写体识别的实现 31
3.2 PyTorch 2.0模型结构输出与可视化 33
3.2.1 查看模型结构和参数信息 33
3.2.2 基于netron库的PyTorch 2.0模型可视化 34
3.2.3 更多的PyTorch 2.0模型可视化工具 37
3.3 本章小结 38
第4章 深度学习的理论基础 39
4.1 反向传播神经网络的历史 39
4.2 反向传播神经网络两个基础算法详解 43
4.2.1 最小二乘法详解 43
4.2.2 道士下山的故事—梯度下降算法 45
4.2.3 最小二乘法的梯度下降算法以及Python实现 48
4.3 反馈神经网络反向传播算法介绍 54
4.3.1 深度学习基础 54
4.3.2 链式求导法则 55
4.3.3 反馈神经网络的原理与公式推导 56
4.3.4 反馈神经网络原理的激活函数 61
4.3.5 反馈神经网络原理的Python实现 62
4.4 本章小结 66
第5章 基于PyTorch卷积层的MNIST分类实战 67
5.1 卷积运算的基本概念 68
5.1.1 基本卷积运算示例 68
5.1.2 PyTorch 2.0中卷积函数实现详解 70
5.1.3 池化运算 72
5.1.4 Softmax激活函数 73
5.1.5 卷积神经网络的原理 74
5.2 实战:基于卷积的MNIST手写体分类 76
5.2.1 数据准备 77
5.2.2 模型设计 77
5.2.3 基于卷积的MNIST分类模型 78
5.3 PyTorch 2.0的深度可分离膨胀卷积详解 80
5.3.1 深度可分离卷积的定义 81
5.3.2 深度的定义以及不同计算层待训练参数的比较 82
5.3.3 膨胀卷积详解 83
5.4 实战:基于深度可分离膨胀卷积的MNIST手写体识别 84
5.5 本章小结 86
第6章 PyTorch数据处理与模型可视化 87
6.1 用于自定义数据集的torch.utils.data工具箱使用详解 88
6.1.1 使用torch.utils.data.Dataset封装自定义数据集 88
6.1.2 改变数据类型的Dataset类中transform的使用 90
6.1.3 批量输出数据的DataLoader类详解 94
6.2 基于tensorboardX的训练可视化展示 97
6.2.1 tensorboardX的安装与简介 97
6.2.2 tensorboardX可视化组件的使用 97
6.2.3 tensorboardX对模型训练过程的展示 99
6.3 本章小结 102
第7章 从冠军开始—实战ResNet 103
7.1 ResNet基础原理与程序设计基础 103
7.1.1 ResNet诞生的背景 104
7.1.2 不要重复造轮子—PyTorch 2.0中的模块工具 106
7.1.3 ResNet残差模块的实现 107
7.1.4 ResNet网络的实现 109
7.2 实战ResNet:CIFAR-10数据集分类 112
7.2.1 CIFAR-10数据集简介 112
7.2.2 基于ResNet的CIFAR-10数据集分类 115
7.3 本章小结 117
第8章 梅西-阿根廷 巴西=?—有趣的Word Embedding 118
8.1 文本数据处理 119
8.1.1 数据集介绍和数据清洗 119
8.1.2 停用词的使用 121
8.1.3 词向量训练模型Word2Vec使用介绍 124
8.1.4 文本主题的提取:基于TF-IDF 127
8.1.5 文本主题的提取:基于TextRank 131
8.2 更多的Word Embedding方法—FastText和预训练词向量 133
8.2.1 FastText的原理与基础算法 134
8.2.2 FastText训练以及与PyTorch 2.0的协同使用 135
8.2.3 使用其他预训练参数生成PyTorch 2.0词嵌入矩阵(中文) 140
8.3 针对文本的卷积神经网络模型简介—字符卷积 141
8.3.1 字符(非单词)文本的处理 141
8.3.2 卷积神经网络文本分类模型的实现—Conv1d(一维卷积) 149
8.4 针对文本的卷积神经网络模型简介—词卷积 151
8.4.1 单词的文本处理 152
8.4.2 卷积神经网络文本分类模型的实现—Conv2d(二维卷积) 153
8.5 使用卷积实现文本分类的补充内容 156
8.6 本章小结 159
第9章 基于循环神经网络的中文情感分类实战 160
9.1 实战:循环神经网络与情感分类 160
9.1.1 基于循环神经网络的中文情感分类准备 161
9.1.2 基于循环神经网络的中文情感分类实现 163
9.2 循环神经网络理论讲解 165
9.2.1 什么是GRU 166
9.2.2 单向不行,那就双向 167
9.3 本章小结 168
第10章 从0起步—自然语言处理的编码器 169
10.1 编码器的核心—注意力模型 170
10.1.1 输入层—初始词向量层和位置编码器层 170
10.1.2 自注意力层(重点) 172
10.1.3 ticks和LayerNormalization 177
10.1.4 多头自注意力 178
10.2 编码器的实现 181
10.2.1 前馈层的实现 182
10.2.2 编码器的实现 183
10.3 实战编码器:汉字拼音转换模型 186
10.3.1 汉字拼音数据集处理 186
10.3.2 汉字拼音转换模型的确定 188
10.3.3 模型训练部分的编写 191
10.4 本章小结 193
第11章 站在巨人肩膀上的预训练模型BERT 194
11.1 预训练模型BERT 194
11.1.1 BERT的基本架构与应用 195
11.1.2 BERT预训练任务与Fine-Tuning 195
11.2 实战BERT:中文文本分类 198
11.2.1 使用Hugging Face获取BERT预训练模型 198
11.2.2 BERT实战文本分类 200
11.3 更多的预训练模型 204
11.4 本章小结 206
第12章 从1起步—自然语言处理的解码器 207
12.1 解码器的核心—注意力模型 207
12.1.1 解码器的输入和交互注意力层的掩码 208
12.1.2 为什么通过掩码操作能够减少干扰 213
12.1.3 解码器的输出(移位训练方法) 214
12.1.4 解码器的实现 215
12.2 实战解码器:汉字拼音翻译模型 217
12.2.1 数据集的获取与处理 218
12.2.2 翻译模型 220
12.2.3 汉字拼音模型的训练 230
12.2.4 汉字拼音模型的使用 231
12.3 本章小结 232
第13章 我也可以成为马斯克—无痛的基于PyTorch的强化学习实战 233
13.1 实战:基于强化学习的火箭回收 233
13.1.1 火箭回收技术基本运行环境介绍 234
13.1.2 火箭回收参数介绍 235
13.1.3 基于强化学习的火箭回收实战 236
13.1.4 强化学习的基本内容 241
13.2 强化学习的基本算法—PPO算法 246
13.2.1 PPO算法简介 246
13.2.2 函数使用说明 246
13.2.3 一学就会的TD-Error理论介绍 248
13.2.4 基于TD-Error的结果修正 250
13.2.5 对于奖励的倒序构成的说明 251
13.3 本章小结 252
第14章 创建你自己的小精灵—基于MFCC的语音唤醒实战 253
14.1 语音识别的理论基础—MFCC 253
14.2 语音识别的数据获取与准备 255
14.2.1 Speech Commands简介与数据说明 255
14.2.2 语音识别编码器模块与代码实现 258
14.3 实战:PyTorch 2.0语音识别 260
14.3.1 基于PyTorch 2.0的语音识别模型 260
14.3.2 基于PyTorch 2.0的语音识别实现 261
14.4 本章小结 262
第15章 基于PyTorch的人脸识别实战 263
15.1 人脸识别数据集的建立 263
15.1.1 LFW数据集简介 264
15.1.2 Dlib库简介 264
15.1.3 OpenCV简介 265
15.1.4 使用Dlib检测人脸位置 265
15.1.5 使用Dlib和OpenCV建立自己的人脸检测数据集 268
15.1.6 基于人脸定位制作适配深度学习的人脸识别数据集 270
15.2 实战:基于深度学习的人脸识别模型 274
15.2.1 人脸识别的基本模型Siamese Model 274
15.2.2 基于PyTorch 2.0的Siamese Model的实现 276
15.2.3 人脸识别的Contrastive Loss详解与实现 277
15.2.4 基于PyTorch 2.0的人脸识别模型 278
15.3 本章小结 280