![]()
内容推荐 本书总的指导思想是在掌握深度学习的基本知识和特性的基础上,培养使用TensorFlow 2.0进行实际编程以解决图像处理相关问题的能力。全书力求深入浅出,通过通俗易懂的语言和详细的程序分析,介绍TensorFlow 2.0的基本用法、不错模型设计及其应用程序编写。本书共18章,内容包括:计算视觉与深度学习概述、Python的安装与使用、深度学习的理论基础、Python类库的使用、OpenCV的使用、0penCV与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 人类视觉神经的启迪 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 0章 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 1章 卷积层详解与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 2章 卷积神经网络公式推导与应用 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 3章 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 4章 从冠军开始: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 5章 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 6章 开始找工作吧——深度学习常用面试问题答疑 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 7章 不服就是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 8章 未来的趋势——图卷积神经网络初步 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 |