资料下载网
首页 计算机 考试教辅
TensorFlow进阶指南—基础、算法与应用_黄鸿波_带书签 黄鸿波 pdf电子书免费下载 百度云
首页 > 计算机 > AI人工智能 > TensorFlow进阶指南—基础、算法与应用_黄鸿波_带书签 黄鸿波 pdf电子书免费下载 百度云

《TensorFlow进阶指南—基础、算法与应用_黄鸿波_带书签》pdf电子书免费下载


下载方式一:

百度网盘下载地址:https://pan.baidu.com/s/1vEw2slII7H7equYhWGJFTA
百度网盘密码:1111

下载方式二:

http://ziliaoshare.cn/Download/ab_123542_pd_TensorFlowJJZN—JC、SFYYY_HHB_DSQ.zip

 


TensorFlow进阶指南—基础、算法与应用_黄鸿波_带书签

作者:黄鸿波

页数:374

出版社:中国工信出版集团 , 电子工出版社

《TensorFlow进阶指南—基础、算法与应用_黄鸿波_带书签》介绍

本书是由人工智能一线从业专家根据自己日常工作的体会与经验总结而成的, 在对Tensor Flow的基本书代码主要是在1.6版本的基础上进行开发的,同时兼容1.2-1.10的版本,并己得到验证。

基础知识,环境搭建、神经网络,常用技术的详细讲解当中穿插了自己实战的经验与教训。更与众不同的是,本书详细地解析了使用Ten sar Flow进行深度学习领域中常用模型的搭建、调参和部署整个流程, 以及数据集的使用方法, 能够帮助您快速理解和掌握Tensor Flow相关技术, 最后还用实战项目帮助您快速地学会Tensor Flow开发, 并使用Tensor Flow技术来解决实际问题、要面向对Tensor Flow, 深度学习、人工智能具有强烈兴趣且希望尽快入门的相关从业人员、高校相关专业的教育工作者和在校学生,以及正在从事深度学习工作且希望深入的数据科学家、软件工程师、大数据平台工程师、项目管理者等。

推荐序

这是一个最好的时代,这是一个最坏的时代;

这是一个智慧的年代,这是一个愚蠢的年代;

这是一个信仰的时期,这是一个怀疑的时期;

这是一个光明的季节,这是一个黑暗的季节;

这是希望之春,这是失塑之冬;

人们面前应有尽有,人们面前一无所有;人们正踏上天堂之路,人们正走向地狱之门。

这是英国著名作家查尔斯·狄更斯在《双城记》中的名句,除了最后一句以外,乐观与悲观,兴起与沉沦,都在人们的一念之间。任何一种技术的革命都伴随着抓住它,就是抓住航船的舵柄;抓住它,就是抓住未来的航标。让我们乘着这时代的大潮,一起破浪远航吧!

自从2016年初谷歌的Alpha Go战胜了世界围棋冠军李世石, 人工智能和机器学本书主要面向对Tensor Flow具有强烈兴趣且希望尽快入门的读者, 以及正在从事

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

Tensor Flow基础部分(第1章到第3章)

主要讲解了Tensor Flow的基础知识(包括张量、运行图、Session等部分) 、环境

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

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

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

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

主要讲解如何使用Tensor Flow在实际生活中解决问题, 并讲解Tensor Flow打包发布的各种方法, 以及在GPU环境下如何使用Tensor Flow.另外, 在这一部分, 我们也讲到目标检测,读者可以将其思路用于实际工业生产领域当中。初学Tensor Flow的读者阅读本书时需要具有一定的Python基础, 并建议从第1章开始, 如果您有GPU版本的服务器或主机, 则可以选择先看第13章, 而不必阅读第2章;另外本书中含有一部分公式的推导,例如第6章循环神经网络会讲解关于BP神经网络的推导过程,这需要您有一定的数学基础,但是如果您看不懂数学推导也不会耽误对后面章节的理解和学习:如果您从事图像处理相关的工作和研究,可以着重看第5章卷积神经网络和第8章Tensor Flow中的数据操作, 通过这两章内容, 我们可以建立自己的数据集,并将数据集应用到自己的模型中。如果您想了解各个公开数据集的相关信息,以及如何使用公开的数据模型,可以参考第5章卷积神经网络。针对已经从事Tensor Flow相关工作的读者, 本书中含有大量的实例, 以及作者在实际开发过程中的心得体会,井且循序渐进地讲解了公式推导部分,在讲解知识点的时候会推荐知识点, 例如讲解RNN, 同时会讲解为什么会使用RNN, RNN是由什么样的神经网络算法(BP神经网络)演变而来的,又在其中加入了什么样的内容(时序处理),以及这些算法的推导原理等。通过对一个网络的深入研究,能够使您在使用相关模型时了解其本质。

从基础的神经元开始,逐步讲解单层神经网络、多层神经网络、卷积神经网络、形容现在这个时代再合适不过了。电子技术、计算机技术、互联网技术、大数据技术、人工智能技术,这些技术的发展与进步是一股不可阻挡的历史洪流,而我们都是洪流中的小舟。一代人的分化与沉浮。但我相信,所有不愿辜负时代的智者和勇者都会以最积极的方式面对大潮的到来因为迄今为止没有任何一个时期会比现在这如井喷一般繁荣绚烂的新技术所带来的人工智能新纪元还令人神往。

前言

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

关于本书的使用

Tensor Flow方面的工作且希望深入的读者。的搭建方法(包括Windows, Linux版本的环境搭建, 以及Java版本的环境搭建) 等。循环神经网络等,在每个神经网络中还讲解其附带的各种数据集、模型和变体,比如BP神经网络、Alex Net模型、LST M等。通过这些内容, 读者可以对神经网络等知识有初步认识,井能把握其整体脉络。

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

人工智能与机器学习

早在远古时期,人们就希望通过机器来减轻劳动量,凭借智慧制造出了各种各样人工智能从字面意义上来讲可以分成两个含义,即“人工”和“智能 。“人工”1946年是计算机发展史上最重要的一年,1946年2月,由美国宾夕法尼亚大学如果说1946年是计算机发展史上最重要的一年,那么1956年就是人工智能发展的工具来代替劳作。后来人们把这些能够利用所产生的能量达到特定目的的工具、装置或者设备统称为机器。制造机器的最初目的仅仅是为了减轻人类重的劳动,而不是代替人类,这是因为大部分机器必须通过人类的操作才能完成任务。从传统的简单机械,例如爬犁、锄头到后来的工业化机器,例如蒸汽机、流水线,都要依赖人类的操作才能运转,也就是说这些机器是在人类的控制下并赋予特殊的指令才能完成各种各样的操作的。如果给机器赋予能够自主思考的能力,给定一个特定的目标后,机器通过自主学习或通过观察周围的环境来做出自我判断,那么机器就会变得更加“聪明”。也就是说,我们可以通过技术使机器能够接近或达到人类的智慧,这样的机器才能更受人们的喜爱, 我们把这样的一种智慧或者智能称为人工智能(Artificial Intelligence,AI),或称机器智能。

一词非常好理解,即通过人力来完成我们所要达到的目的。但对于“智能”一词,我们可以将其翻译或理解成多种意思:对于人类来讲,人体本身就是一个智能体,因为人类具有很强的自主意识和思维能力;由人类所创造出来的含有高科技的事物也被称为智能:甚至一些无意识的行为或精神也是智能的一种体现。因此,我们很难去通过一种很强的界限来区别出什么是智能,什么是“人工”所制造出来的“智能”了。人工智能的研究领域多种多样,这不仅仅体现在通过人类的智慧所制造出来的具有自主意识的事物,同时还可以包括人类思维和意识的本身,但就目前来讲,我们所理解的人工智能通常是指通过计算机的程序来实现人类智能的一种技术手段,本书所指的人工智能也是如此。所研发的世界上第一台现代电子计算机埃尼阿克(ENIAC) 诞生, 它是图灵完全的电子计算机, 能够通过编程解决各类计算机问题。ENIAC由18000个左右的电子管、1500个继电器和10000个电容器组成, 重量达27吨, 占地面积约170平方米。ENIAC的诞生具有重大的意义,它对人工智能领域的发展起到了深远且积极的影响。图1-1所示为世界上第一台现代电子计算机ENIAC,史上最重要的一年。在1956年的达特茅斯会议上,来自麻省理工学院的约翰·麦卡锡提出:“人工智能就是要让机器的行为看起来就像人所表现出的智能行为一样。也就是从那时起,“人工智能”一词正式诞生,同时在会议上人工智能也被正式确立为一门科学。

从广义上划分,人工智能包含强人工智能和弱人工智能两个部分。强人工智能也人工智能有非常广泛的研究分类,例如机器人学、情感计算、机器学习等,其中机器学习(Machine Learning, ML) 的主要目的就是为了让机器从用户输入的数一般来讲,在监督学习中,训练集要求包含明确的输入和输出,这里的输入和输其实除监督学习和非监督学习外,还有两种很常见的学习方式:半监督学习和强机器学习不是一门单纯的学科,实际上,我们可以将机器学习理解为很多门学科叫作通用人工智能(Artificial General Intelligence) , 实质具备与人类同等智慧、或超越人类的人工智能,能够表现出人类所具有的全部智能行为。强人工智能也是目前人工智能研究的主要目标之一,自动规划、使用自然语言进行沟通、自动推理等都属于强人工智能研究领域范围。而弱人工智能是指不能进行真正的推理和解决问题的智能机器,这些机器看起来像是智能的,但其实并没有拥有真正的智能,也不会有自主意识。

机器学习是人工智能领域中一个非常重要的分支。据等获取知识,从而使机器能够自动地判断和输出相应的结果。机器学习的方法有很多种,主要分为监督学习和无监督学习。其中监督学习是指利用一组已知特征的数据进行训练,使机器能够根据已知的特征和规律进行相应的总结,从而自主建立相应的模型,并使用这个模型根据相应的输入值进行预测,得出最终所需要输出的结果;而无监督学习(也称非监督式学习)是另一种机器学习的形式,其特点就是能够使机器在没有特定的标注的数据集的基础上进行训练,让机器自己寻找规律,建立相应的模型,从而使这个模型具备预测的能力,根据输入得到相应的输出。这里的机器一般指的是计算机。

出一般是指特征和目标。例如我们想训练机器识别一条狗,那么需要在给定的数据集中明确地指出在这张图片中哪个部分是一条狗,如图1-2所示。而非监督学习中,则不需要在训练集中明确地表明输入和输出,也不需要告诉机器要训练的部分位于数据中的哪个位置,只需要将包含图片的训练数据集给到机器,机器就能自动地从这些数据中学习到相应的特征,并将这些特征加以整合,等到一个新的数据被传入之后,就能够根据模型进行相应的预测。

所谓半监督学习,顾名思义,就是介于监督学习和无监督学习两者之间的学习方式,同时使用大量的未标记的数据和大量的已标记的数据进行数据模型的建立,从而达到预测的效果。当使用半监督学习时,参与的人员可尽量少,而且还能带来比较高的准确性,因此,半监督学习目前正越来越受到人们的重视。而强化学习则强调如何基于环境行动,以取得最大化的预期利益。强化学习和标准的监督学习之间的区别在于,它并不需要出现正确的输入/输出对,也不需要精确校正次优化的行为。强化学习更加专注于在线规划,需要在探索(未知领域)和从(现有知识)之间找到平衡。

的综合和交叉,涉及概率论、线性代数、统计学、算法复杂度等多门理论学科。机器学习的核心是如何使用计算机模拟和实现人类的学习行为,以获得新的知识和技能,并将已有的知识进行重新组织和梳理,使其结构不断改善和更新,从而提高自身的性能和价值。

从上个世纪末开始, 机器学习已经在世界上崭露头角。早在1997年5月, IBM在大部分的人工智能任务中,我们都需要对特征进行处理,但是往往由于环境等表征学习同样也可以被分为监督学习和无监督学习两类,这和机器学习非常类似。我们暂且可以粗略地认为,表征学习可以表示任何的特征,甚至可以夸张地认为为了解决表征学习所面临的问题和困难,研究人员提出了一个新的概念—深深度学习是机器学习的一个分支,也是目前人工智能领域和机器学习领域中最重深度学习最早的雏形要追溯到久远的人工神经网络,而实际上,深度学习这个概深度学习自出现以来就已经在很多领域进行了广泛的应用,尤其是在计算机规觉、深度学习实际上是机器学习中一个比较重要的分支,因此,一个深度学习网络的的“深蓝”超级计算机就已经可以击败当时的国际象棋世界冠军卡斯巴罗夫。而在接下来的这20年左右的时间里,机器学习又在图像识别、自然语言处理等多个领域取得了非常惊人的进展。例如在语音识别领域,将语音识别成文字;在图像处理领域,进行人脸识别等操作。可以说,目前,机器学习已经充斥着整个世界。因素,导致有些特征无法进行直接处理或者很好处理。为了解决这个问题,在机器学习中又引入了另外一个概念——表征学习(Representation Learning) 。表征学习又叫特征学习或表示学习,顾名思义,表征学习的意义就在于它不仅能够使计算机学习和使用特征,而且还学习到了如何提取特征,井自己告诉自己该如何学习。在机器学习中,表征学习是学习一个特征的技术的集合,在机器学东西的任务中,对输入的数据一般都会有一定的要求,其最大的要求就是便于机器计算和处理。但是在现实世界中,很多数据并不能满足这一要求,例如在进行视频或者音频对象的输入时,其数据的不确定性就会变得非常大,也比较复杂,因而造成处理的难度相对较大,且冗余、多变。表征学习就能够很好地解决此类问题。

在表征学习的监督特征学习中,被标记过的数据会被当作特征用来学习,例如神经网络、多层感知器等;而在无监督特征学习中,未被标记过的数据会作为一个整体被当作一个特征用来学习,例如无监督的字典学习、自编码器等都是其典型的代表。表征学习的目标是寻求更好的表示方法并创建更好的模型来从大规模未标记数据中学习这些表示方法。表示方法来自神经科学,井松散地创建在类似神经系统中的信息处理和对通信模式的理解上,如神经编码,试图定义拉动神经元的反应之间的关系,以及大脑中的神经元的电活动之间的关系。

表征学习可以表示一切。然而这种愿景是美好的,事实却并非如此,对于固定的形态,我们确实可以使用表征学习的方式进行表示,但是如果要表示一台汽车的车轮,不同车的车轮不同,即使同一台车在不同的光照角度下的阴影也有很大的差别,这个时候,我们就无法使用定性定量的方式将车轮表示出来,用表征学习进行特征的表示可能就会变得非常困难。针对同一个物体在不同环境下所存在的不同状态,我们将其认定为是由数据的变差因素(Factors of Variation) 所导致的。

1.2无处不在的深度学习

深度学习(Deep Learning)。它是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。同时,深度学习也是机器学习中一种基于对数据进行表征学习的算法。深度学习可以使用其他较简单的表示来表达复杂的表示,这句话听起来非常拗口,但是实际上,我们使用深度学习的主要目的就是使用表征学习将表示起来困难的问题简单化。是2006年左右由Ge of Trey Everest Hinton和Ruslan Salak hut di nov提出的。当时他们提出了一种在前馈神经网络中进行有效训练的算法,这一算法将网络中的每一层视为无监督的受限玻尔兹曼机,再使用有监督的反向传播算法进行调优。文本处理和语音识别领域中发挥着非常积极的作用,成为各种领先系统中的一部分,例如在图像识别中,利用深度学习技术可以快速地进行目标检测和识别,并且相对于传统方法来说,其精度和速度有了大幅度的提高;到目前为止,已经有数十种基于深度学习而形成的神经网络,例如卷积神经网络、帽环神经网络、深度置信网络、递归神经网络等,已经被应用在了各种各样的场景下。

..................


《TensorFlow进阶指南—基础、算法与应用_黄鸿波_带书签》目录

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

1.1 人工智能与机器学习15

1.2 无处不在的深度学习20

1.3 如何入门深度学习21

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

第2章 搭建TensorFlow环境29

2.1 基于pip安装29

2.1.1 基于Windows环境安装TensorFlow29

2.1.2 基于Linux环境安装TensorFlow36

2.2 基于Java安装TensorFlow38

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

2.4 Hello TensorFlow44

2.4.1 MNIST数据集44

2.4.2 编写训练程序46

2.5 小结49

第3章 TensorFlow基础50

3.1 TensorFlow的系统架构50

3.1.1 Client51

3.1.2 Distributed Master52

3.1.3 Worker Service53

3.1.4 Kernel Implements53

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

3.2.1 什么是张量53

3.2.2 张量的阶54

3.2.3 张量的形状54

3.2.4 数据类型55

3.3 TensorFlow的计算模型——图56

3.3.1 计算图基础56

3.3.2 计算图的组成57

3.3.3 计算图的使用59

3.3.4 小结62

3.4 TensorFlow中的会话——Session62

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

4.1 激活函数的概念64

4.2 常用的激活函数65

4.2.1 Sigmoid函数65

4.2.2 Tanh函数67

4.2.3 ReLU函数69

4.2.4 Softplus函数71

4.2.5 Softmax函数72

4.2.6 小结73

4.3 损失函数的概念74

4.4 损失函数的分类77

4.5 常用的损失函数79

4.5.1 0-1损失函数79

4.5.2 Log损失函数80

4.5.3 Hinge损失函数83

4.5.4 指数损失84

4.5.5 感知机损失84

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

4.5.7 绝对值损失函数85

4.5.8 自定义损失函数85

4.6 正则项86

4.6.1 L0范数和L1范数86

4.6.2 L2范数87

4.6.3 核范数88

4.7 规则化参数90

4.8 易混淆的概念90

4.9 神经网络的优化方法91

4.9.1 梯度下降算法91

4.9.2 随机梯度下降算法93

4.9.3 其他的优化算法94

4.9.4 小结98

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

4.10.1 CGAN110

4.10.2 DCGAN111

4.10.3 WGAN112

4.10.4 LSGAN113

4.10.5 BEGAN114

第5章 卷积神经网络116

5.1 神经网络简介116

5.1.1 神经元与神经网络116

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

5.2 图像识别问题122

5.3 常用的图像库介绍125

5.4 卷积神经网络简介128

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

5.4.2 池化130

5.4.3 再探ReLU132

5.5 CNN模型133

5.5.1 LeNet-5模型133

5.5.2 AlexNet模型137

5.5.3 Inception模型144

5.6 用CNN实现MNIST训练161

第6章 循环神经网络165

6.1 初识循环神经网络165

6.1.1 前馈神经网络166

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

6.2 详解循环神经网络173

6.3 RNN的变种——双向RNN176

6.4 One-Hot Encoding179

6.5 词向量和word2vec180

6.5.1 CBOW模型181

6.5.2 Skip-Gram模型182

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

6.6.1 梯度下降184

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

6.7 RNN的变种——LSTM193

6.8 写诗机器人203

第7章 TensorFlow的可视化210

7.1 TensorBoard简介210

7.2 生成和使用TensorBoard214

7.3 TensorBoard的面板展示222

7.4 小结237

第8章 TensorFlow中的数据操作238

8.1 制作TFRecords数据集238

8.2 Dataset API介绍244

8.3 TensorFlow中的队列247

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

9.1 什么是支持向量机254

9.2 计算最优超平面256

9.3 TensorFlow实现线性SVM257

9.4 非线性SVM介绍261

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

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

10.1 Flask框架介绍272

10.2 训练MNIST模型273

10.3 小结289

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

11.1 TensorFlow Serving的前导知识290

11.2 TensorFlow Serving 模型打包294

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

第12章 TensorFlow Lite牛刀小试299

12.1 什么是TensorFlow Lite299

12.2 如何使用TensorFlow Lite模型301

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

第13章 TensorFlow GPU310

13.1 什么是GPU310

13.2 GPU的选择311

13.3 搭建TensorFlow GPU313

13.3.1 在Windows上搭建TensorFlow GPU313

13.3.2 在Linux上搭建TensorFlow GPU321

13.4 使用TensorFlow GPU进行训练325

第14章 TensorFlow与目标检测331

14.1 传统目标检测方法331

14.2 RCNN介绍333

14.3 Fast-RCNN335

14.4 Faster-RCNN339

14.5 YOLO342

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

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

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

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

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

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

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

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

计算机


python
AI人工智能
javascript
计算机网络/服务器
数据库技术
计算机F

考试教辅


考研考博
英语四六级

沪ICP备18046276号-5