[套装书]深度学习之PyTorch物体检测实战+深度学习之TensorFlow:入门、原理与进阶实战(2册)

作者
董洪义李金洪
丛书名
出版社
机械工业出版社
ISBN
9781912201021
简要
简介
内容简介书籍计算机书籍 ---------------------------深度学习之PyTorch物体检测实战--------------------------- 本书从物体检测的概念、发展、经典实现方法等几个方面系统地介绍了物体检测的相关知识,重点介绍了Faster RCNN、SDD和YOLO这三个经典的检测器,并利用PyTorch框架从代码角度进行了细致讲解。另外,本书进一步介绍了物体检测的轻量化网络、细节处理、难点问题及未来的发展趋势,从实战角度给出了多种优秀的解决方法,便于读者更深入地掌握物体检测技术,从而做到在实际项目中灵活应用。 本书共10章,涵盖的主要内容有物体检测与PyTorch框架基础概念与背景;PyTorch基础知识;基础卷积网络Backbone;两阶经典检测器Faster RCNN;单阶多层检测器SSD;单阶经典检测器YOLO;模型加速之轻量化网络;物体检测细节处理;物体检测难点问题;物体检测的未来发展。本书适合PyTorch框架爱好者和物体检测相关从业人员阅读,也适合深度学习和计算机视觉领域的研究人员阅读。 ---------------------------深度学习之TensorFlow:入门、原理与进阶实战--------------------------- 本书针对TensorFlow 1.0以上版本编写,采用“理论+实践”的形式编写,通过大量的实例(共96个),全面而深入地讲解“深度学习神经网络原理”和“Tensorflow使用方法”两方面。书中的实例具有很强的实用,如对图片分类、制作一个简单的聊天机器人、进行图像识别等。书中的每章都配有一段教学视频,视频和图书具有一样的内容和结构,能帮助读者快速而全面地了解本章的内容。本书还免费提供了所有案例的源代码及数据样本,这些代码和样本不仅方便了读者学习,而且也能为以后的工作提供便利。 全书共分为3篇:第1篇“深度学习与TensorFlow基础”,包括快速了解人工智能与TensorFlow、搭建开发环境、TensorFlow基本开发步骤、TensorFlow编程基础、一个识别图中模糊的数字的案例;第2篇“深度学习基础——神经网络”介绍了神经网络的基础模型,包括单个神经元、多层神经网络、卷积神经网络、循环神经网络、自编码网络;第3篇“神经网络进阶”,是对基础网络模型的灵活运用与自由组合,是对前面知识的综合及拔高,包括深度神经网络、对抗神经网络。 本书结构清晰、案例丰富、通俗易懂、实用性强。特别适合TensorFlow深度学习的初学者和进阶读者作为自学教程阅读。另外,本书也适合社会培训学校作为培训教材使用,还适合大中专院校的相关专业作为教学参考书。
目录



---------------------------深度学习之PyTorch物体检测实战---------------------------


前言
第1篇 物体检测基础知识
第1章 浅谈物体检测与PyTorch 2
1.1 深度学习与计算机视觉 2
1.1.1 发展历史 2
1.1.2 计算机视觉 7
1.2 物体检测技术 9
1.2.1 发展历程 10
1.2.2 技术应用领域 11
1.2.3 评价指标 12
1.3 PyTorch简介 17
1.3.1 诞生与特点 17
1.3.2 各大深度学习框架对比 17
1.3.3 为什么选择PyTorch 19
1.3.4 安装方法 20
1.4 基础知识准备 22
1.4.1 Linux基础 22
1.4.2 Python基础 24
1.4.3 高效开发工具 29
1.5 总结 36
第2章 PyTorch基础 37
2.1 基本数据:Tensor 37
2.1.1 Tensor数据类型 37
2.1.2 Tensor的创建与维度查看 39
2.1.3 Tensor的组合与分块 41
2.1.4 Tensor的索引与变形 42
2.1.5 Tensor的排序与取极值 46
2.1.6 Tensor的自动广播机制与向量化 46
2.1.7 Tensor的内存共享 47
2.2 Autograd与计算图 48
2.2.1 Tensor的自动求导:Autograd 49
2.2.2 计算图 50
2.2.3 Autograd注意事项 51
2.3 神经网络工具箱torch.nn 52
2.3.1 nn.Module类 52
2.3.2 损失函数 55
2.3.3 优化器nn.optim 56
2.4 模型处理 59
2.4.1 网络模型库:torchvision.models 59
2.4.2 加载预训练模型 60
2.4.3 模型保存 61
2.5 数据处理 61
2.5.1 主流公开数据集 61
2.5.2 数据加载 63
2.5.3 GPU加速 65
2.5.4 数据可视化 66
2.6 总结 68
第3章 网络骨架:Backbone 69
3.1 神经网络基本组成 69
3.1.1 卷积层 70
3.1.2 激活函数层 72
3.1.3 池化层 75
3.1.4 Dropout层 76
3.1.5 BN层 77
3.1.6 全连接层 79
3.1.7 深入理解感受野 81
3.1.8 详解空洞卷积(Dilated Convolution) 82
3.2 走向深度:VGGNet 83
3.3 纵横交错:Inception 87
3.4 里程碑:ResNet 93
3.5 继往开来:DenseNet 95
3.6 特征金字塔:FPN 99
3.7 为检测而生:DetNet 106
3.8 总结 110
第2篇 物体检测经典框架
第4章 两阶经典检测器:Faster RCNN 112
4.1 RCNN系列发展历程 112
4.1.1 开山之作:RCNN 112
4.1.2 端到端:Fast RCNN 113
4.1.3 走向实时:Faster RCNN 114
4.2 准备工作 114
4.3 Faster RCNN总览 115
4.4 详解RPN 117
4.4.1 理解Anchor 117
4.4.2 RPN的真值与预测量 119
4.4.3 RPN卷积网络 120
4.4.4 RPN真值的求取 122
4.4.5 损失函数设计 124
4.4.6 NMS与生成Proposal 125
4.4.7 筛选Proposal得到RoI 126
4.5 RoI Pooling层 127
4.6 全连接RCNN模块 130
4.6.1 RCNN全连接网络 130
4.6.2 损失函数设计 131
4.7 Faster RCNN的改进算法 131
4.7.1 审视Faster RCNN 132
4.7.2 特征融合:HyperNet 133
4.7.3 实例分割:Mask RCNN 134
4.7.4 全卷积网络:R-FCN 137
4.7.5 级联网络:Cascade RCNN 139
4.8 总结 141
第5章 单阶多层检测器:SSD 142
5.1 SSD总览 142
5.1.1 SSD的算法流程 142
5.1.2 代码准备工作 143
5.2 数据预处理 144
5.2.1 加载PASCAL数据集 144
5.2.2 数据增强 144
5.3 网络架构 148
5.3.1 基础VGG结构 148
5.3.2 深度卷积层 149
5.3.3 PriorBox与边框特征提取网络 150
5.3.4 总体网络计算过程 153
5.4 匹配与损失求解 154
5.4.1 预选框与真实框的匹配 154
5.4.2 定位损失的计算 155
5.4.3 难样本挖掘 156
5.4.4 类别损失计算 156
5.5 SSD的改进算法 157
5.5.1 审视SSD 157
5.5.2 特征融合:DSSD 158
5.5.3 彩虹网络:RSSD 160
5.5.4 基于SSD的两阶:RefineDet 162
5.5.5 多感受野融合:RFBNet 165
5.6 总结 166
第6章 单阶经典检测器:YOLO 167
6.1 无锚框预测:YOLO v1 167
6.1.1 网络结构 167
6.1.2 特征图的意义 168
6.1.3 损失计算 169
6.2 依赖锚框:YOLO v2 171
6.2.1 网络结构的改善 171
6.2.2 先验框的设计 173
6.2.3 正、负样本与损失函数 175
6.2.4 正、负样本选取代码示例 176
6.2.5 工程技巧 179
6.3 多尺度与特征融合:YOLO v3 180
6.3.1 新网络结构DarkNet-53 180
6.3.2 多尺度预测 181
6.3.3 Softmax改为Logistic 182
6.4 总结 183
第3篇 物体检测的难点与发展
第7章 模型加速之轻量化网络 186
7.1 压缩再扩展:SqueezeNet 188
7.1.1 SqueezeNet网络结构 188
7.1.2 SqueezeNet总结 190
7.2 深度可分离:MobileNet 191
7.2.1 标准卷积 191
7.2.2 深度可分离卷积 192
7.2.3 MobileNet v1结构 193
7.2.4 MobileNet v1总结 198
7.2.5 MobileNet v2 198
7.3 通道混洗:ShuffleNet 200
7.3.1 通道混洗 201
7.3.2 网络结构 202
7.3.3 ShuffleNet v2 205
7.4 总结 207
第8章 物体检测细节处理 209
8.1 非极大值抑制:NMS 209
8.1.1 NMS基本过程 210
8.1.2 抑制得分:Soft NMS 212
8.1.3 加权平均:Softer NMS 213
8.1.4 定位置信度:IoU-Net 215
8.2 样本不均衡问题 217
8.2.1 不均衡问题分析 217
8.2.2 在线难样本挖掘:OHEM 219
8.2.3 专注难样本:Focal Loss 221
8.3 模型过拟合 224
8.3.1 数据增强 226
8.3.2 L1与L2正则化 227
8.4 总结 229
第9章 物体检测难点 230
9.1 多尺度检测 230
9.1.1 多尺度问题 230
9.1.2 降低下采样率与空洞卷积 232
9.1.3 Anchor设计 233
9.1.4 多尺度训练 235
9.1.5 特征融合 235
9.1.6 尺度归一化:SNIP 236
9.1.7 三叉戟:TridentNet 238
9.2 拥挤与遮挡 239
9.2.1 遮挡背景 240
9.2.2 排斥损失:Repulsion Loss 242
9.2.3 OR-CNN 244
9.3 总结 247
第10章 物体检测的未来发展 248
10.1 重新思考物体检测 248
10.1.1 精度与速度的权衡 249
10.1.2 卷积网络的可解释性与稳定性 249
10.1.3 训练:微调还是随机初始化 250
10.1.4 考虑物体间关系的检测 251
10.1.5 优化卷积方式 252
10.1.6 神经架构搜索:NAS 253
10.1.7 与产业结合的创新 255
10.2 摆脱锚框:Anchor-Free 257
10.2.1 重新思考Anchor 257
10.2.2 基于角点的检测:CornerNet 258
10.2.3 检测中心点:CenterNet 262
10.2.4 锚框自学习:Guided Anchoring 264
10.3 总结 266



---------------------------深度学习之TensorFlow:入门、原理与进阶实战---------------------------


配套学习资源
前言
第1篇 深度学习与TensorFlow基础
第1章 快速了解人工智能与TensorFlow 2
1.1 什么是深度学习 2
1.2 TensorFlow是做什么的 3
1.3 TensorFlow的特点 4
1.4 其他深度学习框架特点及介绍 5
1.5 如何通过本书学好深度学习 6
1.5.1 深度学习怎么学 6
1.5.2 如何学习本书 7
第2章 搭建开发环境 8
2.1 下载及安装Anaconda开发工具 8
2.2 在Windows平台下载及安装TensorFlow 11
2.3 GPU版本的安装方法 12
2.3.1 安装CUDA软件包 12
2.3.2 安装cuDNN库 13
2.3.3 测试显卡 14
2.4 熟悉Anaconda 3开发工具 15
2.4.1 快速了解Spyder 16
2.4.2 快速了解Jupyter Notebook 18
第3章 TensorFlow基本开发步骤——以逻辑回归拟合二维数据为例 19
3.1 实例1:从一组看似混乱的数据中找出y≈2x的规律 19
3.1.1 准备数据 20
3.1.2 搭建模型 21
3.1.3 迭代训练模型 23
3.1.4 使用模型 25
3.2 模型是如何训练出来的 25
3.2.1 模型里的内容及意义 25
3.2.2 模型内部的数据流向 26
3.3 了解TensorFlow开发的基本步骤 27
3.3.1 定义输入节点的方法 27
3.3.2 实例2:通过字典类型定义输入节点 28
3.3.3 实例3:直接定义输入节点 28
3.3.4 定义“学习参数”的变量 29
3.3.5 实例4:通过字典类型定义“学习参数” 29
3.3.6 定义“运算” 29
3.3.7 优化函数,优化目标 30
3.3.8 初始化所有变量 30
3.3.9 迭代更新参数到最优解 31
3.3.10 测试模型 31
3.3.11 使用模型 31
第4章 TensorFlow编程基础 32
4.1 编程模型 32
4.1.1 了解模型的运行机制 33
4.1.2 实例5:编写hello world程序演示session的使用 34
4.1.3 实例6:演示with session的使用 35
4.1.4 实例7:演示注入机制 35
4.1.5 建立session的其他方法 36
4.1.6 实例8:使用注入机制获取节点 36
4.1.7 指定GPU运算 37
4.1.8 设置GPU使用资源 37
4.1.9 保存和载入模型的方法介绍 38
4.1.10 实例9:保存/载入线性回归模型 38
4.1.11 实例10:分析模型内容,演示模型的其他保存方法 40
4.1.12 检查点(Checkpoint) 41
4.1.13 实例11:为模型添加保存检查点 41
4.1.14 实例12:更简便地保存检查点 44
4.1.15 模型操作常用函数总结 45
4.1.16 TensorBoard可视化介绍 45
4.1.17 实例13:线性回归的TensorBoard可视化 46
4.2 TensorFlow基础类型定义及操作函数介绍 48
4.2.1 张量及操作 49
4.2.2 算术运算函数 55
4.2.3 矩阵相关的运算 56
4.2.4 复数操作函数 58
4.2.5 规约计算 59
4.2.6 分割 60
4.2.7 序列比较与索引提取 61
4.2.8 错误类 62
4.3 共享变量 62
4.3.1 共享变量用途 62
4.3.2 使用get-variable获取变量 63
4.3.3 实例14:演示get_variable和Variable的区别 63
4.3.4 实例15:在特定的作用域下获取变量 65
4.3.5 实例16:共享变量功能的实现 66
4.3.6 实例17:初始化共享变量的作用域 67
4.3.7 实例18:演示作用域与操作符的受限范围 68
4.4 实例19:图的基本操作 70
4.4.1 建立图 70
4.4.2 获取张量 71
4.4.3 获取节点操作 72
4.4.4 获取元素列表 73
4.4.5 获取对象 73
4.4.6 练习题 74
4.5 配置分布式TensorFlow 74
4.5.1 分布式TensorFlow的角色及原理 74
4.5.2 分布部署TensorFlow的具体方法 75
4.5.3 实例20:使用TensorFlow实现分布式部署训练 75
4.6 动态图(Eager) 81
4.7 数据集(tf.data) 82
第5章 识别图中模糊的手写数字(实例21) 83
5.1 导入图片数据集 84
5.1.1 MNIST数据集介绍 84
5.1.2 下载并安装MNIST数据集 85
5.2 分析图片的特点,定义变量 87
5.3 构建模型 87
5.3.1 定义学习参数 87
5.3.2 定义输出节点 88
5.3.3 定义反向传播的结构 88
5.4 训练模型并输出中间状态参数 89
5.5 测试模型 90
5.6 保存模型 91
5.7 读取模型 92
第2篇 深度学习基础——神经网络
第6章 单个神经元 96
6.1 神经元的拟合原理 96
6.1.1 正向传播 98
6.1.2 反向传播 98
6.2 激活函数——加入非线性因素,解决线性模型缺陷 99
6.2.1 Sigmoid函数 99
6.2.2 Tanh函数 100
6.2.3 ReLU函数 101
6.2.4 Swish函数 103
6.2.5 激活函数总结 103
6.3 softmax算法——处理分类问题 103
6.3.1 什么是softmax 104
6.3.2 softmax原理 104
6.3.3 常用的分类函数 105
6.4 损失函数——用真实值与预测值的距离来指导模型的收敛方向 105
6.4.1 损失函数介绍 105
6.4.2 TensorFlow中常见的loss函数 106
6.5 softmax算法与损失函数的综合应用 108
6.5.1 实例22:交叉熵实验 108
6.5.2 实例23:one_hot实验 109
6.5.3 实例24:sparse交叉熵的使用 110
6.5.4 实例25:计算loss值 110
6.5.5 练习题 111
6.6 梯度下降——让模型逼近最小偏差 111
6.6.1 梯度下降的作用及分类 111
6.6.2 TensorFlow中的梯度下降函数 112
6.6.3 退化学习率——在训练的速度与精度之间找到平衡 113
6.6.4 实例26:退化学习率的用法举例 114
6.7 初始化学习参数 115
6.8 单个神经元的扩展——Maxout网络 116
6.8.1 Maxout介绍 116
6.8.2 实例27:用Maxout网络实现MNIST分类 117
6.9 练习题 118
第7章 多层神经网络——解决非线性问题 119
7.1 线性问题与非线性问题 119
7.1.1 实例28:用线性单分逻辑回归分析肿瘤是良性还是恶性的 119
7.1.2 实例29:用线性逻辑回归处理多分类问题 123
7.1.3 认识非线性问题 129
7.2 使用隐藏层解决非线性问题 130
7.2.1 实例30:使用带隐藏层的神经网络拟合异或操作 130
7.2.2 非线性网络的可视化及其意义 133
7.2.3 练习题 135
7.3 实例31:利用全连接网络将图片进行分类 136
7.4 全连接网络训练中的优化技巧 137
7.4.1 实例32:利用异或数据集演示过拟合问题 138
7.4.2 正则化 143
7.4.3 实例33:通过正则化改善过拟合情况 144
7.4.4 实例34:通过增大数据集改善过拟合 145
7.4.5 练习题 146
7.4.6 dropout——训练过程中,将部分神经单元暂时丢弃 146
7.4.7 实例35:为异或数据集模型添加dropout 147
7.4.8 实例36:基于退化学习率dropout技术来拟合异或数据集 149
7.4.9 全连接网络的深浅关系 150
7.5 练习题 150
第8章 卷积神经网络——解决参数太多问题 151
8.1 全连接网络的局限性 151
8.2 理解卷积神经网络 152
8.3 网络结构 153
8.3.1 网络结构描述 153
8.3.2 卷积操作 155
8.3.3 池化层 157
8.4 卷积神经网络的相关函数 158
8.4.1 卷积函数tf.nn.conv2d 158
8.4.2 padding规则介绍 159
8.4.3 实例37:卷积函数的使用 160
8.4.4 实例38:使用卷积提取图片的轮廓 165
8.4.5 池化函数tf.nn.max_pool(avg_pool) 167
8.4.6 实例39:池化函数的使用 167
8.5 使用卷积神经网络对图片分类 170
8.5.1 CIFAR介绍 171
8.5.2 下载CIFAR数据 172
8.5.3 实例40:导入并显示CIFAR数据集 173
8.5.4 实例41:显示CIFAR数据集的原始图片 174
8.5.5 cifar10_input的其他功能 176
8.5.6 在TensorFlow中使用queue 176
8.5.7 实例42:协调器的用法演示 178
8.5.8 实例43:为session中的队列加上协调器 179
8.5.9 实例44:建立一个带有全局平均池化层的卷积神经网络 180
8.5.10 练习题 183
8.6 反卷积神经网络 183
8.6.1 反卷积神经网络的应用场景 184
8.6.2 反卷积原理 184
8.6.3 实例45:演示反卷积的操作 185
8.6.4 反池化原理 188
8.6.5 实例46:演示反池化的操作 189
8.6.6 实例47:演示gradients基本用法 192
8.6.7 实例48:使用gradients对多个式子求多变量偏导 192
8.6.8 实例49:演示梯度停止的实现 193
8.7 实例50:用反卷积技术复原卷积网络各层图像 195
8.8 善用函数封装库 198
8.8.1 实例51:使用函数封装库重写CIFAR卷积网络 198
8.8.2 练习题 201
8.9 深度学习的模型训练技巧 201
8.9.1 实例52:优化卷积核技术的演示 201
8.9.2 实例53:多通道卷积技术的演示 202
8.9.3 批量归一化 204
8.9.4 实例54:为CIFAR图片分类模型添加BN 207
8.9.5 练习题 209
第9章 循环神经网络——具有记忆功能的网络 210
9.1 了解RNN的工作原理 210
9.1.1 了解人的记忆原理 210
9.1.2 RNN网络的应用领域 212
9.1.3 正向传播过程 212
9.1.4 随时间反向传播 213
9.2 简单RNN 215
9.2.1 实例55:简单循环神经网络实现——裸写一个退位减法器 215
9.2.2 实例56:使用RNN网络拟合回声信号序列 220
9.3 循环神经网络(RNN)的改进 225
9.3.1 LSTM网络介绍 225
9.3.2 窥视孔连接(Peephole) 228
9.3.3 带有映射输出的STMP 230
9.3.4 基于梯度剪辑的cell 230
9.3.5 GRU网络介绍 230
9.3.6 Bi-RNN网络介绍 231
9.3.7 基于神经网络的时序类分类CTC 232
9.4 TensorFlow实战RNN 233
9.4.1 TensorFlow中的cell类 233
9.4.2 通过cell类构建RNN 234
9.4.3 实例57:构建单层LSTM网络对MNIST数据集分类 239
9.4.4 实例58:构建单层GRU网络对MNIST数据集分类 240
9.4.5 实例59:创建动态单层RNN网络对MNIST数据集分类 240
9.4.6 实例60:静态多层LSTM对MNIST数据集分类 241
9.4.7 实例61:静态多层RNN-LSTM连接GRU对MNIST数据集分类 242
9.4.8 实例62:动态多层RNN对MNIST数据集分类 242
9.4.9 练习题 243
9.4.10 实例63:构建单层动态双向RNN对MNIST数据集分类 243
9.4.11 实例64:构建单层静态双向RNN对MNIST数据集分类 244
9.4.12 实例65:构建多层双向RNN对MNIST数据集分类 246
9.4.13 实例66:构建动态多层双向RNN对MNIST数据集分类 247
9.4.14 初始化RNN 247
9.4.15 优化RNN 248
9.4.16 实例67:在GRUCell中实现LN 249
9.4.17 CTC网络的loss——ctc_loss 251
9.4.18 CTCdecoder 254
9.5 实例68:利用BiRNN实现语音识别 255
9.5.1 语音识别背景 255
9.5.2 获取并整理样本 256
9.5.3 训练模型 265
9.5.4 练习题 272
9.6 实例69:利用RNN训练语言模型 273
9.6.1 准备样本 273
9.6.2 构建模型 275
9.7 语言模型的系统学习 279
9.7.1 统计语言模型 279
9.7.2 词向量 279
9.7.3 word2vec 281
9.7.4 实例70:用CBOW模型训练自己的word2vec 283
9.7.5 实例71:使用指定侯选采样本训练word2vec 293
9.7.6 练习题 296
9.8 处理Seq2Seq任务 296
9.8.1 Seq2Seq任务介绍 296
9.8.2 Encoder-Decoder框架 297
9.8.3 实例72:使用basic_rnn_seq2seq拟合曲线 298
9.8.4 实例73:预测当天的股票价格 306
9.8.5 基于注意力的Seq2Seq 310
9.8.6 实例74:基于Seq2Seq注意力模型实现中英文机器翻译 313
9.9 实例75:制作一个简单的聊天机器人 339
9.9.1 构建项目框架 340
9.9.2 准备聊天样本 340
9.9.3 预处理样本 340
9.9.4 训练样本 341
9.9.5 测试模型 342
9.10 时间序列的高级接口TFTS 344
第10章 自编码网络——能够自学习样本特征的网络 346
10.1 自编码网络介绍及应用 346
10.2 最简单的自编码网络 347
10.3 自编码网络的代码实现 347
10.3.1 实例76:提取图片的特征,并利用特征还原图片 347
10.3.2 线性解码器 351
10.3.3 实例77:提取图片的二维特征,并利用二维特征还原图片 351
10.3.4 实例78:实现卷积网络的自编码 356
10.3.5 练习题 358
10.4 去噪自编码 359
10.5 去噪自编码网络的代码实现 359
10.5.1 实例79:使用去噪自编码网络提取MNIST特征 359
10.5.2 练习题 363
10.6 栈式自编码 364
10.6.1 栈式自编码介绍 364
10.6.2 栈式自编码在深度学习中的意义 365
10.7 深度学习中自编码的常用方法 366
10.7.1 代替和级联 366
10.7.2 自编码的应用场景 366
10.8 去噪自编码与栈式自编码的综合实现 366
10.8.1 实例80:实现去噪自编码 367
10.8.2 实例81:添加模型存储支持分布训练 375
10.8.3 小心分布训练中的“坑” 376
10.8.4 练习题 377
10.9 变分自编码 377
10.9.1 什么是变分自编码 377
10.9.2 实例82:使用变分自编码模拟生成MNIST数据 377
10.9.3 练习题 384
10.10 条件变分自编码 385
10.10.1 什么是条件变分自编码 385
10.10.2 实例83:使用标签指导变分自编码网络生成MNIST数据 385
第3篇 深度学习进阶
第11章 深度神经网络 392
11.1 深度神经网络介绍 392
11.1.1 深度神经网络起源 392
11.1.2 经典模型的特点介绍 393
11.2 GoogLeNet模型介绍 394
11.2.1 MLP卷积层 394
11.2.2 全局均值池化 395
11.2.3 Inception 原始模型 396
11.2.4 Inception v1模型 396
11.2.5 Inception v2模型 397
11.2.6 Inception v3模型 397
11.2.7 Inception v4模型 399
11.3 残差网络(ResNet) 399
11.3.1 残差网络结构 399
11.3.2 残差网络原理 400
11.4 Inception-ResNet-v2结构 400
11.5 TensorFlow中的图片分类模型库——slim 400
11.5.1 获取models中的slim模块代码 401
11.5.2 models中的Slim结构 401
11.5.3 slim中的数据集处理 403
11.5.4 实例84:利用slim读取TFRecord中的数据 405
11.5.5 在slim中训练模型 407
11.6 使用slim中的深度网络模型进行图像的识别与检测 410
11.6.1 实例85:调用Inception_ResNet_v2模型进行图像识别 410
11.6.2 实例86:调用VGG模型进行图像检测 413
11.7 实物检测模型库——Object Detection API 417
11.7.1 准备工作 418
11.7.2 实例87:调用Object Detection API进行实物检测 421
11.8 实物检测领域的相关模型 425
11.8.1 RCNN基于卷积神经网络特征的区域方法 426
11.8.2 SPP-Net:基于空间金字塔池化的优化RCNN方法 426
11.8.3 Fast-R-CNN快速的RCNN模型 426
11.8.4 YOLO:能够一次性预测多个位置和类别的模型 427
11.8.5 SSD:比YOLO更快更准的模型 428
11.8.6 YOLO2:YOLO的升级版模型 428
11.9 机器自己设计的模型(NASNet) 428 
第12章 对抗神经网络(GAN) 430
12.1 GAN的理论知识 430
12.1.1 生成式模型的应用 431
12.1.2 GAN的训练方法 431
12.2 DCGAN——基于深度卷积的GAN 432
12.3 InfoGAN和ACGAN:指定类别生成模拟样本的GAN 432
12.3.1 InfoGAN:带有隐含信息的GAN 432
12.3.2 AC-GAN:带有辅助分类信息的GAN 433
12.3.3 实例88:构建InfoGAN生成MNIST模拟数据 434
12.3.4 练习题 440
12.4 AEGAN:基于自编码器的GAN 441
12.4.1 AEGAN原理及用途介绍 441
12.4.2 实例89:使用AEGAN对MNIST数据集压缩特征及重建 442
12.5 WGAN-GP:更容易训练的GAN 447
12.5.1 WGAN:基于推土机距离原理的GAN 448
12.5.2 WGAN-GP:带梯度惩罚项的WGAN 449
12.5.3 实例90:构建WGAN-GP生成MNIST数据集 451
12.5.4 练习题 455
12.6 LSGAN(最小乘二GAN):具有WGAN 同样效果的GAN 455
12.6.1 LSGAN介绍 455
12.6.2 实例91:构建LSGAN生成MNIST模拟数据 456
12.7 GAN-cls:具有匹配感知的判别器 457
12.7.1 GAN-cls的具体实现 458
12.7.2 实例92:使用GAN-cls技术实现生成标签匹配的模拟数据 458
12.8 SRGAN——适用于超分辨率重建的GAN 461
12.8.1 超分辨率技术 461
12.8.2 实例93:ESPCN实现MNIST数据集的超分辨率重建 463
12.8.3 实例94:ESPCN实现flowers数据集的超分辨率重建 466
12.8.4 实例95:使用残差网络的ESPCN 472
12.8.5 SRGAN的原理 477
12.8.6 实例96:使用SRGAN实现flowers数据集的超分辨率修复 477
12.9 GAN网络的高级接口TFGAN 485
12.10 总结 486



有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4