新書推薦:
《
中国摄影 中式摄影的独特魅力
》
售價:HK$
1097.6
《
山西寺观艺术彩塑精编卷
》
售價:HK$
1680.0
《
积极心理学
》
售價:HK$
55.8
《
自由,不是放纵
》
售價:HK$
54.9
《
甲骨文丛书·消逝的光明:欧洲国际史,1919—1933年(套装全2册)
》
售價:HK$
277.8
《
剑桥日本戏剧史(剑桥世界戏剧史译丛)
》
售價:HK$
201.6
《
中国高等艺术院校精品教材大系:材料的时尚表达??服装创意设计
》
售價:HK$
76.2
《
美丽与哀愁:第一次世界大战个人史
》
售價:HK$
143.4
編輯推薦:
TensorFlow 2.0破天荒地抛弃了原有的架构,重新开始,整合了曾经为TensorFlow添加的多种组件,在2.0版本中,这些组件被打包成一个综合平台,可支持机器学习的工作流程(从训练到部署),即用一个新的架构从根本上代替了已有的架构。
可以看到新架构中的训练部分主要关注Python API,即训练的可用性、整洁性以及易用性。它通过使用存档的方式连接起训练与部署之间的桥梁。
模型的部署方式是多种多样,可以方便地使用多种端支持,使其能够运营在不同的平台上。而语言绑定(language binding)也有不同程度的支持,包括Swift、R和Julia等。
內容簡介:
本书内容分为22章,包括Python类库的安装和使用、TensorFlow基本数据结构和使用、TensorFlow数据集的创建与读取、人工神经网络介绍、反馈神经网络的理论基础,深度学习模型的创建以及相关特性介绍等内容,并在本书各个模型部分特别介绍了模型调参的初步知识。本书强调理论联系实际,着重介绍了TensorFlow编程解决图像识别的应用,提供了大量数据集供读者使用,也以代码的形式实现了深度学习模型实供读者参考。
關於作者:
王晓华,计算机专业讲师,长期讲授面向对象程序设计、数据结构、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章 Lets 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 betterGoogLeNet模型介绍 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
內容試閱 :
我们处于一个变革的时代!
给定一个物体,让一个3岁的小孩描述这个物体是什么,似乎是一件非常简单的事情。然而将同样的东西放在计算机面前,让它描述自己看到了什么,这在不久以前还是一件不可能的事。
让计算机学会看东西,这是一个专门的学科计算机视觉所正在做的工作。借助于人工神经网络和深度学习的发展,近年来计算机视觉在研究上取得了重大的突破。通过模拟生物视觉所构建的卷积神经网络模型在图像识别和分类上取得了非常好的效果。
而今,借助于深度学习的发展,使用人工智能去处理常规劳动、理解语音语义、帮助医学诊断和支持基础科研工作,这些曾经是梦想的东西似乎都在眼前。
写作本书的原因
TensorFlow作为最新的、应用范围最为广泛的深度学习开源框架自然引起了广泛的关注,它吸引了大量程序设计和开发人员进行相关内容的学习开发与开发学习。掌握TensorFlow程序设计基本技能的程序设计人员成为当前各组织和单位热切追求的最热门人才。他们的主要工作就是利用获得数据集设计不同的人工神经网络模型,利用人工神经网络强大的学习能力提取和挖掘数据集中包含的潜在信息。编写相应的TensorFlow程序对数据进行处理,对其价值进行进一步开发,为商业机会的获取、管理模式的创新、决策的制定提供相应的支持。随着越来越多的组织、单位和行业对深度学习应用的重视,高层次的TensorFlow程序设计人员才必将成为就业市场上抢手和紧俏的人才。
目前来说,TensorFlow虽然被谷歌开源公布只有不到2年时间,但是其在工业、商业以及科学研究上的应用量和引起的讨论,使之成为时下最热门的深度学习框架。但是由于国内翻译和知识传播的滞后性等多方面的原因。国内对这方面的介绍较为欠缺,缺少最新 TensorFlow框架使用和设计的相关内容,从而造成了知识传播的延迟性。学习是为了掌握新知识、获得新能力,不应该学习已经被摒弃的内容。
其次,与其他应用框架不同的是,TensorFlow并不是一个简单的编程框架,深度学习也不简单的是一个名词,而是需要相关研究人员对隐藏在其代码背后的理论进行学习,需要掌握一定的数学知识和理论基础。本书的作者具有长期一线理科理论教学基础,可以将其中的理论知识以非常浅显易懂的语言解释清楚,这一点是本书比较突出的优势。
本书是为了满足广大TensorFlow程序设计和开发人员学习最新的TensorFlow的程序代码的要求而出版的。本书对涉及深度学习的结构与编程代码作了循序渐进地介绍与说明,以解决实际图像处理为依托,从理论开始介绍了TensorFlow程序设计模式,多角度、多方面地对其中的原理和实现提供了翔实的分析,并结合实际案例设计和编写了应用程序,使得读者能够从开发者的层面掌握TensorFlow程序的设计方法和技巧,为开发出更强大的图像处理应用打下扎实的基础。
本书的优势
(1)本书在方向上偏重于使用卷积神经网络以及其相关变化的模型,在TensorFlow框架上进行图像特征提取、图像识别以及具体应用,这在世面上鲜有涉及。
(2)本书并非枯燥的理论讲解,而是笔者阅读和参考了大量最新文献作出的归纳总结,在这一点上本书与其他编程书籍有本质区别。本书的例子都是来自于现实世界中对图像分辨和特征的竞赛优胜模型,通过介绍这些例子可以使得读者更深一步地了解和掌握其内在的算法和本质。
(3)本书作者有长期研究生和本科生教学经验,通过通俗易懂的语言对全部内容进行讲解,深入浅出地介绍了反馈神经网络和卷积神经网络理论体系的全部知识点,并在程序编写时使用官方推荐的TensorFlow最新框架进行程序设计,帮助读者更好地使用最新的模型框架,理解和掌握TensorFlow程序设计的精妙之处。
(4)作者认为,掌握和使用深度学习的人才应在掌握基本知识和理论的基础上,重视实际应用程序开发能力和解决问题能力的培养。因此,本书结合作者在实际工作中遇到的大量实际案例进行分析,抽象化核心模型并给出具体解决方案,全部示例程序均提供了相应的代码供读者 学习。
本书有什么内容
本书共分为2218章,所有代码均采用Python语言编写,也是TensorFlow框架推荐使用语言。
第1章介绍了深度学习的基本内容,初步介绍了其应用于计算机视觉和发展方向,介绍了使用深度学习解决计算机视觉问题的应用前景。旨在说明使用深度学习和人工智能实现计算机视觉是未来的发展方向,也是必然趋势。
第2章介绍了Python的安装和最常用的类库。Python语言是易用性非常强的语言,可以很方便地将公式和愿景以代码的形式表达出来,而无须需学习过多的编程知识。并且本章也介绍了Python专用类库threading的使用,这个类库并不常见,但是为后文的数据读取和TensorFlow专用格式的生成打下基础。
第3章全面介绍机器学习的基本分类、算法和理论基础,也介绍了不同算法,例如回归算法和决策树算法的具体实现和应用。这些是深度学习的基础理论部分,通过这些内容向读者透彻而准确地展示了深度学习的结构与应用,这为后文中更进一步掌握深度学习在计算机视觉中的应用打下扎实的基础。
第4章主要介绍了Python语言的使用。通过介绍和实现不同的Python类库,既帮助读者强化了Python的编程能力,也学习了相应的类库,这些都是在后文中反复使用的内容。同时借用掌握的知识,学习了数据的可视化展示能力,这个技能在数据分析中是一项基本技能,具有非常重要的作用。
第5~6章是对OpenCV类库使用方法的介绍,本书是以图像处理为重点,因此对图像数据的读取、编辑以及加工是本书数据处理的重中之重。而OpenCV是Python中专门用以对图像处理的类库,通过基础讲解和进阶介绍使得读者掌握这个重要类库的使用。,学会对图像的裁剪、变换和平移处理的代码编写。其中,第5章以例子的形式对卷积核的基础内容做了一个介绍,并用Python语言实现了卷积核的功能。卷积核是本书的一个非常重要的基础,也是图像处理中一个非常重要的组成部分,通过编写相应的程序去实现卷积核对图像的处理,对掌握和理解卷积神经网络有很大帮助。
第7~8章是TensorFlow的入门基础,通过一个娱乐性质的网站向读者介绍了TensorFlow的基本应用,用图形图像的方式演示了神经网络进行类别分类的拟合过程,在娱乐的同时了解其背后的原理。
第9章是本书的一个重点,也是神经网络的基础内容,本章的反馈算法是解决神经网络计算量过大的里程碑算法,作者通过详细严谨的讲解,使用通俗易懂的语言,对这个算法进行了介绍,并且通过独立编写代码的形式,为读者实现了这个神经网络中最重要的算法。第9章的内容看起来不多,但是非常重要。
第10章开始正式进入了TensorFlow的程序设计内容,通过与Keras联合学习,遵循TensorFlow官网的建议,使用Keras作为模型框架的高级API对程序进行编写,通过多个小例子循序渐进地引导读者使用TensorFlow 2.0做出第一个TensorFlow 2.0程序。
第11章是应用卷积神经网络在TensorFlow框架上进行学习的一个基础教程,经过前面章节的介绍,本章采用卷积神经网络基本理论进行手写体的辨识,这是深度学习最基本的技能,也是非常重要的一个学习基础。在程序编写的过程中,作者展示了参数调整对模型测试结果的重要作用,这是目前市面上相关图书没有涉及的内容,非常重要。
第12~13章是本书新增的内容,第12章着重介绍一些基本理论,卷积神经网络的推导以及梯度更新反向传播的算法,而为了更好地让读者掌握其相关内容,使用了一个简单的例子做深入说明。第13章介绍TensorFlow 2.0新增的自带数据库和可视化工具TensorBoard。
第14章是ResNet的介绍,通过一个完整的例子,演示了使用卷积神经网络进行图像识别的流程。例子来自于ImageNet图像识别竞赛,所采用的模型也是比赛中获得准确率最高的模型。通过对示例每一步的详细分析,手把手地教会读者使用卷积神经网络进行图像识别。
第15章是本书新增的内容,通过对最新前沿方向的追踪,向读者介绍了最新的注意力机制在图像领域的应用,并讲解了最新型的图像处理模型SENET的细节和实现。这些内容都能够给读者带来更好的理解,并加深对模型的认识和掌握。
第16章是本书的特色之一,针对神经网络中一些较为常见而不易解答的问题做了一个统一的回复,其中既涉及理论也涉及最新的应用,读者可以有针对性地进行学习。
第17章介绍了对抗生成网络(GAN)的基本理论、应用以及相关的实现,并使用GAN网络实现了一个手写体的生成,当然既然可以生成手写体,那么生成其他的相关图片也是可以的。
第18章介绍了最新的前沿技术图卷积神经网络,这是一个简单的应用,但是可以认为图卷积神经网络是未来一段时间发展的前沿和趋势,完全可能加强和加深目前的卷积神经网络的工作以及加大神经网络的应用范围。
本书特点
(1)本书不是纯粹的理论知识介绍,也不是高深的技术研讨,完全是从实践应用出发,用最简单的、典型的示例引伸出核心知识,指明通往高精尖进一步深入学习的道路。
(2)本书没有深入介绍某一个知识块,而是全面介绍了TensorFlow涉及的图像处理的基本结构和上层程序设计,藉此能够系统地掌握深度学习的全貌,使读者在学习的过程中不至于迷失方向。
(3)本书力求浅显易懂,没有深奥的数学知识,而是通过较为形象的方式,采用大量图像例子描述了应用的理论知识,让读者在轻松愉悦的阅读下掌握相关内容。
(4)本书旨在引导读者进行更多技术上的创新,每章都会提供示例,以帮助读者更好地理解本章的学习内容。
(5)本书代码遵循重构原理,避免代码污染,真心希望读者能写出优秀的、简洁的、可维护的代码。
示例代码下载
本书示例代码下载地址请扫描右边二维码获得。
如果下载有问题或者对本书有任何疑问,请联系booksaga@163.com,邮件主题为TensorFlow 2.0深度学习应用实践。
本书适合读者
本书适合于学习人工神经网络、深度学习以及TensorFlow程序设计等相关内容的程序设计人员,也可以作为高等院校相关专业的教材。建议在学习本书内容的过程中,理论联系实际,独立进行一些代码的编写,采取开放式的实验方法,即读者自行准备实验数据和实验环境,解决实际问题,最终达到理论联系实际的目的。
作者与致谢
本书作者现任计算机专业教师,担负数据挖掘、Java程序设计、数据结构等多项本科及研究生课程,研究方向为数据仓库与数据挖掘、人工智能、机器学习,在研和参研多项科研项目。本书在写作过程中得到了家人们的大力支持,得到了本书的编辑们大力支持,在此对他们一并表示 感谢。