猜你喜欢
TensorFlow进阶指南:基础、算法与应用

TensorFlow进阶指南:基础、算法与应用

书籍作者:黄鸿波 ISBN:9787121345654
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:4829
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

《TensorFlow进阶指南:基础、算法与应用》是由人工智能一线从业专家根据自己日常工作的体会与经验总结而成的,在对TensorFlow的基础知识、环境搭建、神经网络、常用技术的详细讲解当中穿插了自己实战的经验与教训。更与众不同的是,《TensorFlow进阶指南:基础、算法与应用》详细地解析了使用TensorFlow进行深度学习领域中常用模型的搭建、调参和部署整个流程,以及数据集的使用方法,能够帮助您快速理解和掌握TensorFlow相关技术,最后还用实战项目帮助您快速地学会TensorFlow开发,并使用TensorFlow技术来解决实际问题。

《TensorFlow进阶指南:基础、算法与应用》代码主要是在1.6版本的基础上进行开发的,同时兼容1.2~1.10的版本,并已得到验证。《TensorFlow进阶指南:基础、算法与应用》主要面向对TensorFlow、深度学习、人工智能具有强烈兴趣且希望尽快入门的相关从业人员、高校相关专业的教育工作者和在校学生,以及正在从事深度学习工作且希望深入的数据科学家、软件工程师、大数据平台工程师、项目管理者等。

作者简介

黄鸿波,珠海金山办公软件有限公司(WPS)人工智能领域专家,高级算法工程师,拥有多年软件开发经验。曾在格力电器股份有限公司大数据中心担任人工智能领域专家,且在多家公司担任过高级工程师,技术经理,技术总监等职务。曾带领团队开发过基于人脸识别技术的智能支付系统、推荐系统、知识图谱、智能问答系统等。擅长数据挖掘、机器学习、移动开发等专业领域,并拥有丰富的实战经验。

编辑推荐

1.拒绝艰涩难懂——本书是作者在用自己的话讲解TensorFlow,中国人都能轻松读懂,特别适合零基础读者,没有不懂,只有更懂。

2.拒绝臃肿拖沓——本书真正来自于作者一线从业经验与体会,只讲有用的,不含偏门的。

3.拒绝断章取义——本书囊括了TensorFlow用于实际工作的全流程,使读者能真正实现从想法到产品,只有流畅,没有断崖。

4.拒绝含混支吾——本书对TensorFlow每一个环节的讲解,都是作者运用自己多年一线从业功力推敲与解构的,没有模糊不清,只有恍然大悟。


前言

自从2016年初谷歌的AlphaGo战胜了世界围棋冠军李世石,人工智能和机器学习领域就变得异常火爆。其实早在半个世纪以前,人工智能领域的相关概念就已经被提出,经过了这半个世纪的不断发展,人工智能以及深度学习相关领域已经在工业界和学术界发生了颠覆性的改变。2017年2月11日,谷歌公司正式发布TensorFlow 1.0版本,由此开始,一段新的热潮被掀起。到目前为止,谷歌公司的TensorFlow版本已经更新至1.10版本,本书代码主要是在1.6版本的基础上进行开发的,同时兼容1.2~1.10的版本,并已经过验证,读者可以放心使用。

关于本书的使用

本书主要面向对TensorFlow具有强烈兴趣且希望尽快入门的读者,以及正在从事TensorFlow方面的工作且希望深入的读者。

本书一共有14章的内容,分为四个部分:

TensorFlow基础部分(第1章到第3章)

主要讲解了TensorFlow的基础知识(包括张量、运行图、Session等部分)、环境的搭建方法(包括Windows、Linux版本的环境搭建,以及Java版本的环境搭建)等。

TensorFlow神经网络基础和各种模型部分(第4章到第6章)

从基础的神经元开始,逐步讲解单层神经网络、多层神经网络、卷积神经网络、循环神经网络等,在每个神经网络中还讲解其附带的各种数据集、模型和变体,比如BP神经网络、AlexNet模型、LSTM等。通过这些内容,读者可以对神经网络等知识有初步认识,并能把握其整体脉络。

TensorFlow的常用技术(第7章到第9章)

主要讲解TensorFlow对于数据集的制作和处理,以及在TensorBoard的模式下可视化观察模型的各种参数变化,并讲解了支持向量机的概念。之所以把支持向量机放在这个部分,是因为支持向量机目前在深度学习领域是非常常用的,比如目标检测和分类任务。通过学习这一部分的内容,读者可以对TensorFlow在实际应用过程中的常用技术有一定的了解。

TensorFlow的实际应用(第10章到第14章)

主要讲解如何使用TensorFlow在实际生活中解决问题,并讲解TensorFlow打包发布的各种方法,以及在GPU环境下如何使用TensorFlow。另外,在这一部分,我们也讲到目标检测,读者可以将其思路用于实际工业生产领域当中。

初学TensorFlow的读者阅读本书时需要具有一定的Python基础,并建议从第1章开始,如果您有GPU版本的服务器或主机,则可以选择先看第13章,而不必阅读第2章;另外本书中含有一部分公式的推导,例如第6章循环神经网络会讲解关于BP神经网络的推导过程,这需要您有一定的数学基础,但是如果您看不懂数学推导也不会耽误对后面章节的理解和学习;如果您从事图像处理相关的工作和研究,可以着重看第5章卷积神经网络和第8章TensoFlow中的数据操作,通过这两章内容,我们可以建立自己的数据集,并将数据集应用到自己的模型中。如果您想了解各个公开数据集的相关信息,以及如何使用公开的数据模型,可以参考第5章卷积神经网络。

针对已经从事TensorFlow相关工作的读者,本书中含有大量的实例,以及作者在实际开发过程中的心得体会,并且循序渐进地讲解了公式推导部分,在讲解知识点的时候会推荐知识点,例如讲解RNN,同时会讲解为什么会使用RNN,RNN是由什么样的神经网络算法(BP神经网络)演变而来的,又在其中加入了什么样的内容(时序处理),以及这些算法的推导原理等。通过对一个网络的深入研究,能够使您在使用相关模型时了解其本质。

致谢

本书的顺利出版离不开大家对我的帮助。

在这里,首先我要感谢电子工业出版社博文视点的孙学瑛老师对我的信任及支持,正是由于孙老师的支持,才能有此书的顺利出版。其次我要感谢我的家人在我写书的这近一年时间内给我的支持和理解,尤其是我的妻子,在怀有身孕的情况下还帮助我分担了一些家庭中的琐事,使得我的写作能够顺利完成。

另外,还要感谢华中科技大学的胡中旭博士对本书关于神经网络及强化学习部分给出的建议和支持;感谢南京大学黄继鹏对于RNN部分写诗机器人的支持;感谢格力电器大数据中心的刘艳国帮助我实现了Android相关章节代码的调试工作;感谢韦家弘同学对于RNN相关内容的帮助和支持。

除此之外,本书还参考了网上的一些图例和部分代码,由于大多无法找到其出处,所以无法一一列举,在此表示感谢。

最后还要感谢所有在本书编写过程中给予我支持和帮助的人们,正是你们的帮助才使本书得以面世。

目录

第1章 人工智能与深度学习 1

1.1 人工智能与机器学习 1

1.2 无处不在的深度学习 6

1.3 如何入门深度学习 7

1.4 主流深度学习框架介绍 13

第2章 搭建TensorFlow环境 15

2.1 基于pip安装 15

2.1.1 基于Windows环境安装TensorFlow 15

2.1.2 基于Linux环境安装TensorFlow 22

2.2 基于Java安装TensorFlow 24

2.3 安装TensorFlow的常用依赖模块 27

2.4 Hello TensorFlow 30

2.4.1 MNIST数据集 30

2.4.2 编写训练程序 32

2.5 小结 35

第3章 TensorFlow基础 36

3.1 TensorFlow的系统架构 36

3.1.1 Client 37

3.1.2 Distributed Master 38

3.1.3 Worker Service 39

3.1.4 Kernel Implements 39

3.2 TensorFlow的数据结构——张量 39

3.2.1 什么是张量 39

3.2.2 张量的阶 40

3.2.3 张量的形状 40

3.2.4 数据类型 41

3.3 TensorFlow的计算模型——图 42

3.3.1 计算图基础 42

3.3.2 计算图的组成 43

3.3.3 计算图的使用 45

3.3.4 小结 48

3.4 TensorFlow中的会话——Session 48

第4章 TensorFlow中常用的激活函数与神经网络 50

4.1 激活函数的概念 50

4.2 常用的激活函数 51

4.2.1 Sigmoid函数 51

4.2.2 Tanh函数 53

4.2.3 ReLU函数 55

4.2.4 Softplus函数 57

4.2.5 Softmax函数 58

4.2.6 小结 59

4.3 损失函数的概念 60

4.4 损失函数的分类 63

4.5 常用的损失函数 65

4.5.1 0-1损失函数 65

4.5.2 Log损失函数 66

4.5.3 Hinge损失函数 69

4.5.4 指数损失 70

4.5.5 感知机损失 70

4.5.6 平方(均方)损失函数 71

4.5.7 绝对值损失函数 71

4.5.8 自定义损失函数 71

4.6 正则项 72

4.6.1 L0范数和L1范数 72

4.6.2 L2范数 73

4.6.3 核范数 74

4.7 规则化参数 76

4.8 易混淆的概念 76

4.9 神经网络的优化方法 77

4.9.1 梯度下降算法 77

4.9.2 随机梯度下降算法 79

4.9.3 其他的优化算法 80

4.9.4 小结 84

4.10 生成式对抗网络(GAN) 84

4.10.1 CGAN 96

4.10.2 DCGAN 97

4.10.3 WGAN 98

4.10.4 LSGAN 99

4.10.5 BEGAN 100

第5章 卷积神经网络 102

5.1 神经网络简介 102

5.1.1 神经元与神经网络 102

5.1.2 感知器(单层神经网络)与多层感知器 104

5.2 图像识别问题 108

5.3 常用的图像库介绍 111

5.4 卷积神经网络简介 114

5.4.1 CNN的基本原理与卷积核 115

5.4.2 池化 116

5.4.3 再探ReLU 118

5.5 CNN模型 119

5.5.1 LeNet-5模型 119

5.5.2 AlexNet模型 123

5.5.3 Inception模型 130

5.6 用CNN实现MNIST训练 147

第6章 循环神经网络 152

6.1 初识循环神经网络 152

6.1.1 前馈神经网络 153

6.1.2 神经网络中的时序信息 159

6.2 详解循环神经网络 160

6.3 RNN的变种——双向RNN 163

6.4 One-Hot Encoding 166

6.5 词向量和word2vec 167

6.5.1 CBOW模型 168

6.5.2 Skip-Gram模型 169

6.6 梯度消失问题和梯度爆炸问题 170

6.6.1 梯度下降 171

6.6.2 解决梯度消失和梯度爆炸问题的方法 173

6.7 RNN的变种——LSTM 180

6.8 写诗机器人 190

第7章 TensorFlow的可视化 197

7.1 TensorBoard简介 197

7.2 生成和使用TensorBoard 201

7.3 TensorBoard的面板展示 209

7.4 小结 224

第8章 TensorFlow中的数据操作 225

8.1 制作TFRecords数据集 225

8.2 Dataset API介绍 231

8.3 TensorFlow中的队列 234

第9章 支持向量机(SVM) 241

9.1 什么是支持向量机 241

9.2 计算最优超平面 243

9.3 TensorFlow实现线性SVM 244

9.4 非线性SVM介绍 248

9.5 使用TensorFlow实现非线性SVM分类器 251

第10章 TensorFlow结合Flask发布MNIST模型 259

10.1 Flask框架介绍 259

10.2 训练MNIST模型 260

10.3 小结 276

第11章 TensorFlow模型的发布与部署 277

11.1 TensorFlow Serving的前导知识 277

11.2 TensorFlow Serving 模型打包 281

11.3 TensorFlow Serving模型的部署和调用 285

第12章 TensorFlow Lite牛刀小试 286

12.1 什么是TensorFlow Lite 286

12.2 如何使用TensorFlow Lite模型 288

12.3 TensorFlow Lite与Android结合实现图像识别 291

第13章 TensorFlow GPU 297

13.1 什么是GPU 297

13.2 GPU的选择 298

13.3 搭建TensorFlow GPU 300

13.3.1 在Windows上搭建TensorFlow GPU 300

13.3.2 在Linux上搭建TensorFlow GPU 308

13.4 使用TensorFlow GPU进行训练 312

第14章 TensorFlow与目标检测 318

14.1 传统目标检测方法 318

14.2 RCNN介绍 320

14.3 Fast-RCNN 322

14.4 Faster-RCNN 326

14.5 YOLO 329

附录A TensorFlow历代版本更新内容 355

A.1 TensorFlow 1.3版本更新内容 355

A.2 TensorFlow 1.4版本更新内容 356

A.3 TensorFlow 1.5版本更新内容 357

A.4 TensorFlow 1.6版本更新内容 357

A.5 TensorFlow 1.7版本更新内容 358

A.6 TensorFlow 1.8版本更新内容 358

A.7 TensorFlow 1.9版本更新内容 359

产品特色