书籍详情
TensorFlow 2.0深度学习应用实践
作者:王晓华 著
出版社:清华大学出版社
出版时间:2020-06-01
ISBN:9787302554783
定价:¥69.00
购买这本书可以去
内容简介
本书总的指导思想是在掌握深度学习的基本知识和特性的基础上,培养使用TensorFlow 2.0进行实际编程以解决图像处理相关问题的能力。全书力求深入浅出,通过通俗易懂的语言和详细的程序分析,介绍TensorFlow 2.0的基本用法、高级模型设计及其应用程序编写。 本书共18章,内容包括:计算视觉与深度学习概述、Python的安装与使用、深度学习的理论基础、Python类库的使用、OpenCV的使用、OpenCV与TensorFlow的融合、TensorFlow概念、TensorFlow重要算法、Keras的使用、卷积层与MNIST实战、卷积神经网络公式推导与应用、TensorFlow Datasets和TensorBoard详解、ResNet、注意力机制、深度学习常用面试问题、GAN、图卷积神经网络等内容。 本书可作为学习人工神经网络、深度学习、TensorFlow 2.0程序设计以及图像处理等相关内容的程序设计人员培训和自学用书,也可以作为高等院校和培训学校相关专业的教材使用。
作者简介
王晓华,计算机专业讲师,长期讲授面向对象程序设计、数据结构、Hadoop程序设计等研究生和本科生相关课程;主要研究方向为云计算、数据挖掘。曾主持和参与多项国家和省级科研课题,独立科研项目获省级成果认定,发表过多篇论文,拥有一项专利。著有《Spark MLlib机器学习实践》《TensorFlow深度学习应用实践》《OpenCV+TensorFlow深度学习与计算机视觉实战》《TensorFlow 2.0卷积神经网络实战》等图书。
目录
第1章 星星之火 1
1.1 计算机视觉与深度学习 1
1.1.1 人类视觉神经的启迪 2
1.1.2 计算机视觉的难点与人工神经网络 3
1.1.3 应用深度学习解决计算机视觉问题 4
1.2 计算机视觉学习的基础与研究方向 5
1.2.1 学习计算机视觉结构图 5
1.2.2 计算机视觉的学习方式和未来趋势 6
1.3 本章小结 7
第2章 Python的安装与使用 8
2.1 Python基本安装和用法 8
2.1.1 Anaconda的下载与安装 8
2.1.2 Python编译器PyCharm的安装 11
2.1.3 使用Python计算softmax函数 13
2.2 Python常用类库threading 15
2.2.1 threading库的使用 15
2.2.2 threading模块中重要的Thread类 16
2.2.3 threading中Lock类 17
2.2.4 threading中join类 18
2.3 本章小结 18
第3章 深度学习的理论基础——机器学习 19
3.1 机器学习基本分类 19
3.1.1 应用学科的分类 19
3.1.2 学习模式的分类 20
3.1.3 应用领域的分类 20
3.2 机器学习基本算法 21
3.2.1 机器学习的算法流程 21
3.2.2 基本算法的分类 22
3.3 算法的理论基础 23
3.3.1 小学生的故事——求圆的面积 23
3.3.2 机器学习基础理论——函数逼近 24
3.4 回归算法 25
3.4.1 函数逼近经典算法——线性回归算法 25
3.4.2 线性回归的姐妹——逻辑回归 27
3.5 本章小结 28
第4章 Python类库的使用——数据处理及可视化展示 29
4.1 从小例子起步——NumPy的初步使用 29
4.1.1 数据的矩阵化 29
4.1.2 数据分析 30
4.1.3 基于统计分析的数据处理 32
4.2 图形化数据处理——Matplotlib包使用 32
4.2.1 差异的可视化 33
4.2.2 坐标图的展示 34
4.2.3 玩个大的 35
4.3 深度学习理论方法——相似度计算 38
4.3.1 基于欧几里得距离的相似度计算 38
4.3.2 基于余弦角度的相似度计算 39
4.3.3 欧几里得相似度与余弦相似度的比较 40
4.4 数据的统计学可视化展示 40
4.4.1 数据的四分位 40
4.4.2 数据的四分位示例 41
4.4.3 数据的标准化 45
4.4.4 数据的平行化处理 46
4.4.5 热点图-属性相关性检测 48
4.5 Python实战——某地降雨的关系处理 49
4.5.1 不同年份的相同月份统计 49
4.5.2 不同月份之间的增减程度比较 51
4.5.3 每月降雨不相关吗 52
4.6 本章小结 53
第5章 OpenCV的基础使用 54
5.1 OpenCV基本的图片读取 54
5.1.1 基本的图片存储格式 54
5.1.2 图像的读取与存储 56
5.1.3 图像的转换 56
5.1.4 使用NumPy模块对图像进行编辑 58
5.2 OpenCV的卷积核处理 59
5.2.1 计算机视觉的三种不同色彩空间 59
5.2.2 卷积核与图像特征提取 60
5.2.3 卷积核进阶 62
5.3 本章小结 63
第6章 OpenCV与TensorFlow的融合 64
6.1 图片的自由缩放以及边缘裁剪 64
6.1.1 图像的扩缩裁挖 64
6.1.2 图像色调的调整 65
6.1.3 图像的旋转、平移和翻转 67
6.2 使用OpenCV扩大图像数据库 68
6.2.1 图像的随机裁剪 68
6.2.2 图像的随机旋转变换 69
6.2.3 图像色彩的随机变换 70
6.2.4 对鼠标的监控 70
6.3 本章小结 71
第7章 Let’s play TensorFlow 72
7.1 TensorFlow游乐场 72
7.1.1 I want to play a game 72
7.1.2 TensorFlow游乐场背后的故事 75
7.1.3 如何训练神经网络 76
7.2 Hello TensorFlow 77
7.2.1 TensorFlow名称的解释 77
7.2.2 TensorFlow基本概念 78
7.3 本章小结 80
第8章 Hello TensorFlow,从0到1 81
8.1 TensorFlow的安装 81
8.2.1 检测Anaconda中的TensorFlow版本 81
8.2.2 TensorFlow 2.0 GPU版本基础显卡推荐和前置软件安装 82
8.2.3 个Hello TensorFlow小程序 84
8.2 TensorFlow常量、变量和数据类型 86
8.3 TensorFlow矩阵计算 88
8.4 Hello TensorFlow 89
8.5 本章小结 92
第9章 TensorFlow重要算法基础 93
9.1 BP神经网络简介 93
9.2 BP神经网络两个基础算法详解 95
9.2.1 小二乘法(LS算法)详解 95
9.2.2 道士下山的故事——梯度下降算法 98
9.3 反馈神经网络反向传播算法介绍 101
9.3.1 深度学习基础 101
9.3.2 链式求导法则 102
9.3.3 反馈神经网络原理与公式推导 103
9.3.4 反馈神经网络原理的激活函数 108
9.3.5 反馈神经网络原理的Python实现 109
9.4 本章小结 115
第10章 Hello TensorFlow & Keras 116
10.1 MODEL!MODEL!还是MODEL 116
10.2 使用Keras API实现鸢尾花分类的例子(顺序模式) 117
10.2.1 数据的准备 118
10.2.2 数据的处理 118
10.2.3 梯度更新函数的写法 119
10.3 使用Keras函数式编程实现鸢尾花分类的例子(重点) 120
10.4 使用保存的Keras模式对模型进行复用 123
10.5 使用TensorFlow 2.0标准化编译对Iris模型进行拟合 124
10.6 多输入单输出TensorFlow 2.0编译方法(选学) 128
10.7 多输入多输出TensorFlow 2.0编译
方法(选学) 132
10.8 全连接层详解 133
10.8.1 全连接层的定义与实现 133
10.8.2 使用TensorFlow 2.0自带的
API实现全连接层 135
10.8.3 打印显示TensorFlow 2.0设计的
Model结构和参数 138
10.9 本章小结 140
第11章 卷积层详解与MNIST实战 141
11.1 卷积运算基本概念 141
11.1.1 卷积运算 142
11.1.2 TensorFlow 2.0中卷积函数实现详解 143
11.1.3 池化运算 145
11.1.4 softmax激活函数 146
11.1.5 卷积神经网络原理 147
11.2 TensorFlow 2.0编程实战:MNIST手写体识别 150
11.2.1 MNIST数据集 150
11.2.2 MNIST数据集特征和标签介绍 151
11.2.3 TensorFlow 2.0编程实战MNIST数据集 153
11.2.4 使用自定义的卷积层实现MNIST识别 157
11.3 本章小结 161
第12章 卷积神经网络公式推导与应用 162
12.1 反馈神经网络算法 162
12.1.1 经典反馈神经网络正向与反向传播公式推导 162
12.1.2 卷积神经网络正向与反向传播公式推导 165
12.2 使用卷积神经网络分辨CIFAR-10数据集 171
12.2.1 CIFAR-10数据集下载与介绍 172
12.2.2 CIFAR-10模型的构建与数据处理 174
12.2.3 CIFAR-10模型的细节描述与参数重构 181
12.3 本章小结 183
第13章 TensorFlow Datasets和TensorBoard详解 184
13.1 TensorFlow Datasets简介 184
13.2 Datasets 数据集的基本使用 186
13.3 Datasets 数据集的使用——Fashion-MNIST 188
13.3.1 Fashion-MNIST数据集下载与展示 189
13.3.2 模型的建立与训练 191
13.4 使用Keras对Fashion-MNIST数据集进行处理 193
13.5 使用TensorBoard可视化训练过程 199
13.5.1 TensorBoard文件夹的设置 199
13.5.2 TensorBoard的显式调用 200
13.5.3 TensorBoard的使用 202
13.6 本章小结 206
第14章 从冠军开始:ResNet 207
14.1 ResNet基础原理与程序设计基础 207
14.1.1 ResNet诞生的背景 208
14.1.2 模块工具的TensorFlow实现——不要重复造轮子 211
14.1.3 TensorFlow高级模块layers用法简介 211
14.2 ResNet实战CIFAR-100数据集分类 219
14.2.1 CIFAR-100数据集简介 219
14.2.2 ResNet残差模块的实现 222
14.2.3 ResNet网络的实现 224
14.2.4 使用ResNet对CIFAR-100进行分类 227
14.3 ResNet的兄弟——ResNeXt 228
14.3.1 ResNeXt诞生的背景 229
14.3.2 ResNeXt残差模块的实现 230
14.3.3 ResNeXt网络的实现 231
14.3.4 ResNeXt和ResNet的比较 233
14.4 本章小结 234
第15章 Attention is all we need 235
15.1 简单的理解注意力机制 235
15.1.1 何为注意力 235
15.1.2 hard or soft——注意力机制的两种常见形式 237
15.1.3 Spatial and Channel——注意力机制的两种实现形式 237
15.2 SENet or CBAM注意力机制的经典模型 240
15.2.1 后的冠军——SENet 240
15.2.2 结合了Spatial and Channel的CBAM模型 243
15.2.3 注意力的前沿研究——基于细粒度的图像注意力机制 248
15.3 本章小结 249
第16章 开始找工作吧——深度学习常用面试问题答疑 250
16.1 深度学习面试常用问题答疑 250
16.1.1 如何降低过拟合(Overfitting) 251
16.1.2 全连接层详解 254
16.1.3 激活函数起作用的原因 255
16.1.4 卷积后的图像大小 255
16.1.5 池化层的作用 255
16.1.6 为什么在后分类时使用softmax而不是传统的SVM 256
16.2 卷积神经网络调优面试问答汇总 256
16.2.1 数据集的注意事项 256
16.2.2 卷积模型训练的注意事项 256
16.3 NIN模型介绍 25716.3.1 NIN(Network In Network)模型简介 257
16.3.2 猫狗大战——NIN的代码实现 258
16.4 deeper is better——GoogLeNet模型介绍 260
16.4.1 GoogLeNet模型的介绍 261
16.4.2 GoogLeNet模型单元的
TensorFlow实现 263
16.4.3 GoogLeNet模型一些注意事项 266
16.5 本章小结 267
第17章 不服就是GAN——对抗生成网络 268
17.1 一个悲惨的故事 268
17.2 GAN基本原理简介 269
17.3 GAN实战——手写体数字的生成 272
17.3.1 MNIST数据集和GAN模型实现 272
17.3.2 训练参数的定义和实现 275
17.4 本章小结 278
第18章 未来的趋势——图卷积神经网络初步 279
18.1 图卷积神经网络的诞生背景 279
18.1.1 图卷积基本原理介绍 279
18.1.2 图卷积基本原理和公式介绍 281
18.1.3 图卷积需要的基本概念 282
18.2 实战图卷积神经网络 283
18.2.1 cora数据集简介 283
18.2.2 图卷积模型的建立 286
18.3 本章小结 288
1.1 计算机视觉与深度学习 1
1.1.1 人类视觉神经的启迪 2
1.1.2 计算机视觉的难点与人工神经网络 3
1.1.3 应用深度学习解决计算机视觉问题 4
1.2 计算机视觉学习的基础与研究方向 5
1.2.1 学习计算机视觉结构图 5
1.2.2 计算机视觉的学习方式和未来趋势 6
1.3 本章小结 7
第2章 Python的安装与使用 8
2.1 Python基本安装和用法 8
2.1.1 Anaconda的下载与安装 8
2.1.2 Python编译器PyCharm的安装 11
2.1.3 使用Python计算softmax函数 13
2.2 Python常用类库threading 15
2.2.1 threading库的使用 15
2.2.2 threading模块中重要的Thread类 16
2.2.3 threading中Lock类 17
2.2.4 threading中join类 18
2.3 本章小结 18
第3章 深度学习的理论基础——机器学习 19
3.1 机器学习基本分类 19
3.1.1 应用学科的分类 19
3.1.2 学习模式的分类 20
3.1.3 应用领域的分类 20
3.2 机器学习基本算法 21
3.2.1 机器学习的算法流程 21
3.2.2 基本算法的分类 22
3.3 算法的理论基础 23
3.3.1 小学生的故事——求圆的面积 23
3.3.2 机器学习基础理论——函数逼近 24
3.4 回归算法 25
3.4.1 函数逼近经典算法——线性回归算法 25
3.4.2 线性回归的姐妹——逻辑回归 27
3.5 本章小结 28
第4章 Python类库的使用——数据处理及可视化展示 29
4.1 从小例子起步——NumPy的初步使用 29
4.1.1 数据的矩阵化 29
4.1.2 数据分析 30
4.1.3 基于统计分析的数据处理 32
4.2 图形化数据处理——Matplotlib包使用 32
4.2.1 差异的可视化 33
4.2.2 坐标图的展示 34
4.2.3 玩个大的 35
4.3 深度学习理论方法——相似度计算 38
4.3.1 基于欧几里得距离的相似度计算 38
4.3.2 基于余弦角度的相似度计算 39
4.3.3 欧几里得相似度与余弦相似度的比较 40
4.4 数据的统计学可视化展示 40
4.4.1 数据的四分位 40
4.4.2 数据的四分位示例 41
4.4.3 数据的标准化 45
4.4.4 数据的平行化处理 46
4.4.5 热点图-属性相关性检测 48
4.5 Python实战——某地降雨的关系处理 49
4.5.1 不同年份的相同月份统计 49
4.5.2 不同月份之间的增减程度比较 51
4.5.3 每月降雨不相关吗 52
4.6 本章小结 53
第5章 OpenCV的基础使用 54
5.1 OpenCV基本的图片读取 54
5.1.1 基本的图片存储格式 54
5.1.2 图像的读取与存储 56
5.1.3 图像的转换 56
5.1.4 使用NumPy模块对图像进行编辑 58
5.2 OpenCV的卷积核处理 59
5.2.1 计算机视觉的三种不同色彩空间 59
5.2.2 卷积核与图像特征提取 60
5.2.3 卷积核进阶 62
5.3 本章小结 63
第6章 OpenCV与TensorFlow的融合 64
6.1 图片的自由缩放以及边缘裁剪 64
6.1.1 图像的扩缩裁挖 64
6.1.2 图像色调的调整 65
6.1.3 图像的旋转、平移和翻转 67
6.2 使用OpenCV扩大图像数据库 68
6.2.1 图像的随机裁剪 68
6.2.2 图像的随机旋转变换 69
6.2.3 图像色彩的随机变换 70
6.2.4 对鼠标的监控 70
6.3 本章小结 71
第7章 Let’s play TensorFlow 72
7.1 TensorFlow游乐场 72
7.1.1 I want to play a game 72
7.1.2 TensorFlow游乐场背后的故事 75
7.1.3 如何训练神经网络 76
7.2 Hello TensorFlow 77
7.2.1 TensorFlow名称的解释 77
7.2.2 TensorFlow基本概念 78
7.3 本章小结 80
第8章 Hello TensorFlow,从0到1 81
8.1 TensorFlow的安装 81
8.2.1 检测Anaconda中的TensorFlow版本 81
8.2.2 TensorFlow 2.0 GPU版本基础显卡推荐和前置软件安装 82
8.2.3 个Hello TensorFlow小程序 84
8.2 TensorFlow常量、变量和数据类型 86
8.3 TensorFlow矩阵计算 88
8.4 Hello TensorFlow 89
8.5 本章小结 92
第9章 TensorFlow重要算法基础 93
9.1 BP神经网络简介 93
9.2 BP神经网络两个基础算法详解 95
9.2.1 小二乘法(LS算法)详解 95
9.2.2 道士下山的故事——梯度下降算法 98
9.3 反馈神经网络反向传播算法介绍 101
9.3.1 深度学习基础 101
9.3.2 链式求导法则 102
9.3.3 反馈神经网络原理与公式推导 103
9.3.4 反馈神经网络原理的激活函数 108
9.3.5 反馈神经网络原理的Python实现 109
9.4 本章小结 115
第10章 Hello TensorFlow & Keras 116
10.1 MODEL!MODEL!还是MODEL 116
10.2 使用Keras API实现鸢尾花分类的例子(顺序模式) 117
10.2.1 数据的准备 118
10.2.2 数据的处理 118
10.2.3 梯度更新函数的写法 119
10.3 使用Keras函数式编程实现鸢尾花分类的例子(重点) 120
10.4 使用保存的Keras模式对模型进行复用 123
10.5 使用TensorFlow 2.0标准化编译对Iris模型进行拟合 124
10.6 多输入单输出TensorFlow 2.0编译方法(选学) 128
10.7 多输入多输出TensorFlow 2.0编译
方法(选学) 132
10.8 全连接层详解 133
10.8.1 全连接层的定义与实现 133
10.8.2 使用TensorFlow 2.0自带的
API实现全连接层 135
10.8.3 打印显示TensorFlow 2.0设计的
Model结构和参数 138
10.9 本章小结 140
第11章 卷积层详解与MNIST实战 141
11.1 卷积运算基本概念 141
11.1.1 卷积运算 142
11.1.2 TensorFlow 2.0中卷积函数实现详解 143
11.1.3 池化运算 145
11.1.4 softmax激活函数 146
11.1.5 卷积神经网络原理 147
11.2 TensorFlow 2.0编程实战:MNIST手写体识别 150
11.2.1 MNIST数据集 150
11.2.2 MNIST数据集特征和标签介绍 151
11.2.3 TensorFlow 2.0编程实战MNIST数据集 153
11.2.4 使用自定义的卷积层实现MNIST识别 157
11.3 本章小结 161
第12章 卷积神经网络公式推导与应用 162
12.1 反馈神经网络算法 162
12.1.1 经典反馈神经网络正向与反向传播公式推导 162
12.1.2 卷积神经网络正向与反向传播公式推导 165
12.2 使用卷积神经网络分辨CIFAR-10数据集 171
12.2.1 CIFAR-10数据集下载与介绍 172
12.2.2 CIFAR-10模型的构建与数据处理 174
12.2.3 CIFAR-10模型的细节描述与参数重构 181
12.3 本章小结 183
第13章 TensorFlow Datasets和TensorBoard详解 184
13.1 TensorFlow Datasets简介 184
13.2 Datasets 数据集的基本使用 186
13.3 Datasets 数据集的使用——Fashion-MNIST 188
13.3.1 Fashion-MNIST数据集下载与展示 189
13.3.2 模型的建立与训练 191
13.4 使用Keras对Fashion-MNIST数据集进行处理 193
13.5 使用TensorBoard可视化训练过程 199
13.5.1 TensorBoard文件夹的设置 199
13.5.2 TensorBoard的显式调用 200
13.5.3 TensorBoard的使用 202
13.6 本章小结 206
第14章 从冠军开始:ResNet 207
14.1 ResNet基础原理与程序设计基础 207
14.1.1 ResNet诞生的背景 208
14.1.2 模块工具的TensorFlow实现——不要重复造轮子 211
14.1.3 TensorFlow高级模块layers用法简介 211
14.2 ResNet实战CIFAR-100数据集分类 219
14.2.1 CIFAR-100数据集简介 219
14.2.2 ResNet残差模块的实现 222
14.2.3 ResNet网络的实现 224
14.2.4 使用ResNet对CIFAR-100进行分类 227
14.3 ResNet的兄弟——ResNeXt 228
14.3.1 ResNeXt诞生的背景 229
14.3.2 ResNeXt残差模块的实现 230
14.3.3 ResNeXt网络的实现 231
14.3.4 ResNeXt和ResNet的比较 233
14.4 本章小结 234
第15章 Attention is all we need 235
15.1 简单的理解注意力机制 235
15.1.1 何为注意力 235
15.1.2 hard or soft——注意力机制的两种常见形式 237
15.1.3 Spatial and Channel——注意力机制的两种实现形式 237
15.2 SENet or CBAM注意力机制的经典模型 240
15.2.1 后的冠军——SENet 240
15.2.2 结合了Spatial and Channel的CBAM模型 243
15.2.3 注意力的前沿研究——基于细粒度的图像注意力机制 248
15.3 本章小结 249
第16章 开始找工作吧——深度学习常用面试问题答疑 250
16.1 深度学习面试常用问题答疑 250
16.1.1 如何降低过拟合(Overfitting) 251
16.1.2 全连接层详解 254
16.1.3 激活函数起作用的原因 255
16.1.4 卷积后的图像大小 255
16.1.5 池化层的作用 255
16.1.6 为什么在后分类时使用softmax而不是传统的SVM 256
16.2 卷积神经网络调优面试问答汇总 256
16.2.1 数据集的注意事项 256
16.2.2 卷积模型训练的注意事项 256
16.3 NIN模型介绍 25716.3.1 NIN(Network In Network)模型简介 257
16.3.2 猫狗大战——NIN的代码实现 258
16.4 deeper is better——GoogLeNet模型介绍 260
16.4.1 GoogLeNet模型的介绍 261
16.4.2 GoogLeNet模型单元的
TensorFlow实现 263
16.4.3 GoogLeNet模型一些注意事项 266
16.5 本章小结 267
第17章 不服就是GAN——对抗生成网络 268
17.1 一个悲惨的故事 268
17.2 GAN基本原理简介 269
17.3 GAN实战——手写体数字的生成 272
17.3.1 MNIST数据集和GAN模型实现 272
17.3.2 训练参数的定义和实现 275
17.4 本章小结 278
第18章 未来的趋势——图卷积神经网络初步 279
18.1 图卷积神经网络的诞生背景 279
18.1.1 图卷积基本原理介绍 279
18.1.2 图卷积基本原理和公式介绍 281
18.1.3 图卷积需要的基本概念 282
18.2 实战图卷积神经网络 283
18.2.1 cora数据集简介 283
18.2.2 图卷积模型的建立 286
18.3 本章小结 288
猜您喜欢