书籍详情
PyTorch编程技术与深度学习
作者:袁梅宇
出版社:清华大学出版社
出版时间:2022-06-01
ISBN:9787302602088
定价:¥89.00
购买这本书可以去
内容简介
《PyTorch编程技术与深度学习》讲述深度学习的基本原理,使用PyTorch展示涉及的深度学习算法。通过理论讲解和编程操作,使读者了解并掌握深度学习的原理和PyTorch编程技能,拉近理论与实践的距离。全书共分9章,主要内容包括PyTorch介绍、PyTorch基础编程、深度学习快速入门、神经网络训练与优化、卷积神经网络原理、卷积神经网络示例、词嵌入模型、循环神经网络原理、NLP示例。书中不但涵盖成熟的卷积神经网络和循环神经网络的原理和示例,还包含一些新的如Transformer和知识蒸馏的内容。全书源代码全部在Python 3.7.4 PyTorch 1.9.0版本上调试成功。 《PyTorch编程技术与深度学习》适合深度学习和PyTorch编程人员作为入门和提高的技术参考书使用,也适合用作计算机专业高年级本科生和研究生的教材或教学参考书。
作者简介
袁梅宇,工学博士,硕士导师,现在昆明理工大学计算机系任教。为本科生和研究生主讲软件工程、Java程序设计、Java EE技术、数据库原理、机器学习、人工智能等多门核心课程。作者专著有《Java EE企业级编程开发实例详解》《数据挖掘与机器学习——WEKA应用技术与实践》《数据挖掘与机器学习——WEKA应用技术与实践(第二版)》《求精要诀——Java EE编程开发案例精讲》《机器学习基础——原理算法与实践》。
目录
第1章 PyTorch介绍 1
1.1 深度学习与PyTorch简介 2
1.1.1 深度学习介绍 2
1.1.2 PyTorch介绍 3
1.2 PyTorch安装 6
1.2.1 Anaconda下载 6
1.2.2 Windows下安装PyTorch 7
1.2.3 Linux Ubuntu下安装PyTorch 8
1.2.4 Anaconda管理 9
1.3 常用数据集 12
1.3.1 MNIST数据集 12
1.3.2 Fashion-MNIST数据集 14
1.3.3 CIFAR-10数据集 17
1.3.4 Dogs vs. Cats数据集 19
1.3.5 AG_NEWS数据集 20
1.3.6 WikiText2数据集 22
1.3.7 QIQC数据集 23
1.3.8 Multi30k数据集 24
习题 25
第2章 PyTorch基础编程 27
2.1 张量数据操作 28
2.1.1 张量简介 28
2.1.2 张量操作 28
2.1.3 广播机制 45
2.1.4 在GPU上使用Tensor 48
2.2 自动求导 50
2.2.1 自动求导概念 50
2.2.2 自动求导示例 50
2.3 数据集API 53
2.3.1 自定义数据集类 53
2.3.2 DataLoader类 55
2.4 torchvision工具示例 57
2.4.1 编写简单的图像数据集 57
2.4.2 Transforms模块 59
2.4.3 Normalize用法 61
2.4.4 ImageFolder用法 62
2.5 torchtext工具示例 64
2.5.1 编写文本预处理程序 64
2.5.2 使用torchtext 67
习题 70
第3章 深度学习快速入门 71
3.1 线性回归 72
3.1.1 线性回归介绍 72
3.1.2 线性回归实现 76
3.2 使用nn模块构建线性回归模型 82
3.2.1 使用nn.Linear训练线性回归模型 82
3.2.2 使用nn.Sequential训练线性回归模型 85
3.2.3 使用nn.Module训练线性回归模型 87
3.3 逻辑回归 88
3.3.1 逻辑回归介绍 89
3.3.2 逻辑回归实现 91
3.4 Softmax回归 96
3.4.1 Softmax回归介绍 96
3.4.2 Softmax回归实现 98
3.5 神经网络 103
3.5.1 神经元 103
3.5.2 激活函数 104
3.5.3 神经网络原理 108
3.5.4 PyTorch神经网络编程 111
习题 116
第4章 神经网络训练与优化 119
4.1 神经网络迭代概念 120
4.1.1 训练误差与泛化误差 120
4.1.2 训练集、验证集和测试集
划分 121
4.1.3 偏差与方差 123
4.2 正则化方法 124
4.2.1 提前终止 125
4.2.2 正则化 126
4.2.3 Dropout 127
4.3 优化算法 129
4.3.1 小批量梯度下降 130
4.3.2 Momentum算法 131
4.3.3 RMSProp算法 134
4.3.4 Adam算法 137
4.4 PyTorch的初始化函数 139
4.4.1 普通初始化 139
4.4.2 Xavier初始化 140
4.4.3 He初始化 141
习题 142
第5章 卷积神经网络原理 145
5.1 CNN介绍 146
5.1.1 CNN与图像处理 146
5.1.2 卷积的基本原理 146
5.1.3 池化的基本原理 155
5.2 简单的CNN网络 158
5.2.1 定义网络模型 158
5.2.2 模型训练 160
5.2.3 模型评估 160
5.2.4 主函数 161
5.3 PyTorch实现LeNet-5网络 163
5.3.1 LeNet-5介绍 163
5.3.2 LeNet-5实现MNIST手写数字识别 164
5.3.3 LeNet-5实现CIFAR-10图像识别 168
习题 170
第6章 卷积神经网络示例 171
6.1 经典CNN网络 172
6.1.1 VGG 172
6.1.2 ResNet 173
6.1.3 Inception 175
6.1.4 Xception 178
6.1.5 ResNet代码研读 179
6.2 使用预训练的CNN 185
6.2.1 特征抽取 186
6.2.2 微调 194
6.3 知识蒸馏 197
6.3.1 知识蒸馏原理 197
6.3.2 知识蒸馏示例 199
6.4 CNN可视化 204
6.4.1 中间激活可视化 205
6.4.2 过滤器可视化 212
习题 214
第7章 词嵌入模型 215
7.1 词嵌入模型介绍 216
7.1.1 独热码 216
7.1.2 词嵌入 222
7.2 词嵌入学习 225
7.2.1 词嵌入学习的动机 226
7.2.2 Skip-Gram算法 227
7.2.3 CBOW算法 229
7.2.4 负采样 230
7.2.5 GloVe算法 234
7.3 Word2Vec算法实现 235
7.3.1 Skip-Gram实现 235
7.3.2 CBOW实现 239
7.3.3 负采样Skip-Gram实现 243
习题 248
第8章 循环神经网络原理 251
8.1 RNN介绍 252
8.1.1 有记忆的神经网络 252
8.1.2 RNN用途 255
8.2 基本RNN模型 259
8.2.1 基本RNN原理 259
8.2.2 基本RNN的训练问题 263
8.2.3 基本RNN编程 265
8.2.4 基本RNN示例 269
8.3 LSTM 275
8.3.1 LSTM原理 275
8.3.2 LSTM编程 279
8.4 GRU 280
8.4.1 GRU原理 280
8.4.2 GRU编程 282
8.5 注意力机制 283
8.5.1 Seq2Seq模型的缺陷 283
8.5.2 机器翻译中的注意力机制 284
8.6 Transformer模型 286
8.6.1 编码器 287
8.6.2 多头注意力层 288
8.6.3 前向层 289
8.6.4 位置编码 289
8.6.5 解码器 290
8.6.6 解码器层 291
8.6.7 Transformer的PyTorch
实现 291
习题 292
第9章 NLP示例 295
9.1 情感分析 296
9.1.1 AG NEWS示例 296
9.1.2 Quora竞赛示例 301
9.2 语言模型 310
9.3 文本序列数据生成 316
9.3.1 向莎士比亚学写诗 316
9.3.2 神经机器翻译 324
习题 333
参考文献 335
1.1 深度学习与PyTorch简介 2
1.1.1 深度学习介绍 2
1.1.2 PyTorch介绍 3
1.2 PyTorch安装 6
1.2.1 Anaconda下载 6
1.2.2 Windows下安装PyTorch 7
1.2.3 Linux Ubuntu下安装PyTorch 8
1.2.4 Anaconda管理 9
1.3 常用数据集 12
1.3.1 MNIST数据集 12
1.3.2 Fashion-MNIST数据集 14
1.3.3 CIFAR-10数据集 17
1.3.4 Dogs vs. Cats数据集 19
1.3.5 AG_NEWS数据集 20
1.3.6 WikiText2数据集 22
1.3.7 QIQC数据集 23
1.3.8 Multi30k数据集 24
习题 25
第2章 PyTorch基础编程 27
2.1 张量数据操作 28
2.1.1 张量简介 28
2.1.2 张量操作 28
2.1.3 广播机制 45
2.1.4 在GPU上使用Tensor 48
2.2 自动求导 50
2.2.1 自动求导概念 50
2.2.2 自动求导示例 50
2.3 数据集API 53
2.3.1 自定义数据集类 53
2.3.2 DataLoader类 55
2.4 torchvision工具示例 57
2.4.1 编写简单的图像数据集 57
2.4.2 Transforms模块 59
2.4.3 Normalize用法 61
2.4.4 ImageFolder用法 62
2.5 torchtext工具示例 64
2.5.1 编写文本预处理程序 64
2.5.2 使用torchtext 67
习题 70
第3章 深度学习快速入门 71
3.1 线性回归 72
3.1.1 线性回归介绍 72
3.1.2 线性回归实现 76
3.2 使用nn模块构建线性回归模型 82
3.2.1 使用nn.Linear训练线性回归模型 82
3.2.2 使用nn.Sequential训练线性回归模型 85
3.2.3 使用nn.Module训练线性回归模型 87
3.3 逻辑回归 88
3.3.1 逻辑回归介绍 89
3.3.2 逻辑回归实现 91
3.4 Softmax回归 96
3.4.1 Softmax回归介绍 96
3.4.2 Softmax回归实现 98
3.5 神经网络 103
3.5.1 神经元 103
3.5.2 激活函数 104
3.5.3 神经网络原理 108
3.5.4 PyTorch神经网络编程 111
习题 116
第4章 神经网络训练与优化 119
4.1 神经网络迭代概念 120
4.1.1 训练误差与泛化误差 120
4.1.2 训练集、验证集和测试集
划分 121
4.1.3 偏差与方差 123
4.2 正则化方法 124
4.2.1 提前终止 125
4.2.2 正则化 126
4.2.3 Dropout 127
4.3 优化算法 129
4.3.1 小批量梯度下降 130
4.3.2 Momentum算法 131
4.3.3 RMSProp算法 134
4.3.4 Adam算法 137
4.4 PyTorch的初始化函数 139
4.4.1 普通初始化 139
4.4.2 Xavier初始化 140
4.4.3 He初始化 141
习题 142
第5章 卷积神经网络原理 145
5.1 CNN介绍 146
5.1.1 CNN与图像处理 146
5.1.2 卷积的基本原理 146
5.1.3 池化的基本原理 155
5.2 简单的CNN网络 158
5.2.1 定义网络模型 158
5.2.2 模型训练 160
5.2.3 模型评估 160
5.2.4 主函数 161
5.3 PyTorch实现LeNet-5网络 163
5.3.1 LeNet-5介绍 163
5.3.2 LeNet-5实现MNIST手写数字识别 164
5.3.3 LeNet-5实现CIFAR-10图像识别 168
习题 170
第6章 卷积神经网络示例 171
6.1 经典CNN网络 172
6.1.1 VGG 172
6.1.2 ResNet 173
6.1.3 Inception 175
6.1.4 Xception 178
6.1.5 ResNet代码研读 179
6.2 使用预训练的CNN 185
6.2.1 特征抽取 186
6.2.2 微调 194
6.3 知识蒸馏 197
6.3.1 知识蒸馏原理 197
6.3.2 知识蒸馏示例 199
6.4 CNN可视化 204
6.4.1 中间激活可视化 205
6.4.2 过滤器可视化 212
习题 214
第7章 词嵌入模型 215
7.1 词嵌入模型介绍 216
7.1.1 独热码 216
7.1.2 词嵌入 222
7.2 词嵌入学习 225
7.2.1 词嵌入学习的动机 226
7.2.2 Skip-Gram算法 227
7.2.3 CBOW算法 229
7.2.4 负采样 230
7.2.5 GloVe算法 234
7.3 Word2Vec算法实现 235
7.3.1 Skip-Gram实现 235
7.3.2 CBOW实现 239
7.3.3 负采样Skip-Gram实现 243
习题 248
第8章 循环神经网络原理 251
8.1 RNN介绍 252
8.1.1 有记忆的神经网络 252
8.1.2 RNN用途 255
8.2 基本RNN模型 259
8.2.1 基本RNN原理 259
8.2.2 基本RNN的训练问题 263
8.2.3 基本RNN编程 265
8.2.4 基本RNN示例 269
8.3 LSTM 275
8.3.1 LSTM原理 275
8.3.2 LSTM编程 279
8.4 GRU 280
8.4.1 GRU原理 280
8.4.2 GRU编程 282
8.5 注意力机制 283
8.5.1 Seq2Seq模型的缺陷 283
8.5.2 机器翻译中的注意力机制 284
8.6 Transformer模型 286
8.6.1 编码器 287
8.6.2 多头注意力层 288
8.6.3 前向层 289
8.6.4 位置编码 289
8.6.5 解码器 290
8.6.6 解码器层 291
8.6.7 Transformer的PyTorch
实现 291
习题 292
第9章 NLP示例 295
9.1 情感分析 296
9.1.1 AG NEWS示例 296
9.1.2 Quora竞赛示例 301
9.2 语言模型 310
9.3 文本序列数据生成 316
9.3.1 向莎士比亚学写诗 316
9.3.2 神经机器翻译 324
习题 333
参考文献 335
猜您喜欢