《TensorFlow深度学习实战》一导读

简介: 本书介绍如何有效地使用谷歌的深度学习开源框架TensorFlow,还将实现不同的深度学习网络。本书除了对一些常见的模型进行了理论介绍,还给出了完整的实现代码,不仅能够对深度学习初学者进行理论与实践的指导,还能为开发人员提供程序设计借鉴。
08107c6fdbe66d4413fba15d4aa52cc9b7cfc3ad

内容简介

本书介绍如何有效地使用谷歌的深度学习开源框架TensorFlow,还将实现不同的深度学习网络。本书除了对一些常见的模型进行了理论介绍,还给出了完整的实现代码,不仅能够对深度学习初学者进行理论与实践的指导,还能为开发人员提供程序设计借鉴。

作者简介


Antonio Gulli

企业领导和软件部门高管,具备创新精神和执行力,并乐于发现和管理全球高科技人才。他是搜索引擎、在线服务、机器学习、信息检索、数据分析以及云计算等方面的专家。目前,他在谷歌华沙担任网站主管和云计算主管,推动Serverless、Kubernetes和Google Cloud UX等项目在欧洲的发展。


Amita Kapoor

印度德里大学电子学系副教授。她在过去的20年里一直在教授神经网络课程。她于1996年取得电子学硕士学位,并于2011年获得博士学位。在攻读博士学位期间,她获得了著名的DAAD奖学金,这笔奖金资助了她在德国卡尔斯鲁厄理工学院的部分研究工作。她曾获得2008年度国际光电子大会颁发的最佳演讲奖。

前言

本书介绍如何有效地使用Google的开源框架TensorFlow进行深度学习。你将实现不同的深度学习网络,如卷积神经网络(CNN)、循环神经网络(RNN)、深度Q learning网络(DQN)和生成对抗网络(GAN),并将学习如何使用TensorFlow的高级封装工具Keras。

你将了解如何使用不同的深层神经架构来执行复杂的任务,并在一些常用数据集(如MNIST、CIFAR-10、Youtube8m等)上了解不同DNN的性能,不仅可以了解TensorFlow支持的不同移动和嵌入式平台,还可以了解如何为深度学习应用程序搭建云平台。你将深入了解TPU架构,以及它们将如何影响DNN的未来。

学完本书,你将理解深度学习实践技术,能够独立开发现实世界中的一些应用,开展如强化学习、GAN、自动编码机等领域的研究。

阅读本书前的准备工作

为更好地学习本书,你需要安装Python 3.5版本(https://www.continuum.io/ downloads)以及TensorFlow(www.tensorflow.org)。建议使用以下硬件配置:

        CPU架构:x86_64

        系统内存:8 GB~32 GB

        CPU:4~8 核

        GPU:可选,最低NVDIA GTX 650

读者对象

本书主要面向想要定期执行机器学习任务的数据科学家机器学习从业者深度学习爱好者。对深度神经网络已有了解并希望获得CNN和RNN等方面实践经验的人会发现本书很有用。

本书结构

在这本书中,你会发现几个频繁出现的小标题(准备工作、具体做法、解读分析、更多内容、拓展阅读),具体含义如下。

准备工作

这部分主要介绍需要做什么,并介绍如何安装所需的软件并进行初步设置。

具体做法

这部分包括实现相应功能的具体步骤。

解读分析

这部分通常包含对具体步骤的详细解释。

更多内容

这部分是扩充知识,以使读者对其有更多的了解。

拓展阅读

这部分将列出一些相关的网址。

下载示例代码

本书的示例代码,可以从http://www.packtpub.com通过个人账号下载,也可以访问华章图书官网http://www.hzbook.com,通过注册并登录个人账号下载。

勘误和支持

由于译者水平有限,特别担心未能完美传达原作者的意思,建议有条件的读者去阅读英文原著。

致谢

Antonio Gulli

感谢每位读者对本书的关注和信任。在LinkedIn和Facebook上收到的评论数量让我感到诚惶诚恐:每一位读者都为本书的改进提供了巨大的帮助。也要感谢以下各位在写作过程中给予的支持:Susana、Ewa、Ignacy、Dawid、Max、Jarek、Jerzy、Nina、Laura、Antonella、Eric、Ettore、Francesco、Liubov、Marco、Fabio、Giacomo、Saskia、Christina、Wieland和 Yossi。非常感谢我的合作者Amita,以及她的宝贵意见和建议。特别感谢本书的审校者Eric Brewer、Corrado Zoccolo和Sujit Pal审校了整本书的内容。特别感谢我的经理Eyal在写作过程中对我的支持与信任。Charlotte Menora (http://bistrocharlotte.pl/)是位于华沙的一家酒吧,工作之余我在那里写作了本书的部分章节。这是一个鼓舞人心的地方,如果你访问波兰,一定不要错过华沙这个现代化的酷炫城市。最后,非常感谢Packt的整个编辑团队,尤其是Tushar Gupta和Tejas Limkar的支持以及不断的督促和提醒。感谢你们的耐心。

Amita Kapoor

我试图在这本书中总结我在深度神经网络领域学到的知识。我以一种让读者容易理解和运用的方式呈现,所以本书的主要动力来自于你——读者。感谢这本书的每一位读者,是你们激励着我不断前行,尤其是在我懒惰的时候。我还要感谢加尔各答大学的Parongama Sen教授在1994年向我介绍了这个主题,还有我的朋友Nirjara Jain和Shubha Swaminathan在大学图书馆里与我讨论阿西莫夫、他的故事以及未来神经网络将改变社会的预见。非常感谢我的合作者Antonio Guili的宝贵意见,以及本书的审校者Narotam Singh和Nick McClure对全书内容精心审阅并重新检查代码。最后,非常感谢Packt的整个编辑团队,尤其是Tushar Gupta和Tejas Limkar的支持以及不断的督促和提醒。

Narotam Singh(审校者)

我想感谢许多帮助我的人,特别是:我的妻子 Ermelinda ,多年来一直支持我致力于计算机科学研究; Marco Vanneschi 教授,向我介绍美丽的分布式系统世界;我在 Google 的第一任经理 Peter Dickman ,他让我走上了正确的职业生涯,我每天都在和同事们一起学习

目录


第1章 TensorFlow简介  1

1.1 引言  1

1.2 TensorFlow安装  2

1.3 Hello world  6

1.4 理解TensorFlow程序结构  8

1.5 常量、变量和占位符  10

1.6 使用TensorFlow 执行矩阵操作  15

1.7 使用数据流图  17

1.8 从0.x迁移到1.x  18

1.9 使用XLA提升运算性能  19

1.10 调用CPU/GPU设备  21

1.11 TensorFlow与深度学习  24

1.12 DNN问题需要的Python包  28

第2章 回归  30

2.1 引言  30

2.2 选择损失函数  31

2.3 TensorFlow中的优化器  33

2.4 读取CSV文件和数据预处理  36

2.5 房价估计——简单线性回归  39

2.6 房价估计——多元线性回归  42

2.7 MNIST数据集的逻辑回归  45

第3章 神经网络——感知机  50

3.1 引言  50

3.2 激活函数  52

3.3 单层感知机  58

3.4 计算反向传播算法的梯度  60

3.5 使用MLP实现MNIST分类器  63

3.6 使用MLP逼近函数来预测波士顿房价  66

3.7 调整超参数  71

3.8 高级API——Keras  72

第4章 卷积神经网络  75

4.1 引言  75

4.2 创建一个ConvNet来分类手写MNIST数字  79

4.3 创建一个ConvNet来分类CIFAR-10数据集  84

4.4 用VGG19做风格迁移的图像重绘  87

4.5 使用预训练的VGG16网络进行迁移学习  96

4.6 创建DeepDream网络  100

第5章 高级卷积神经网络  105

5.1 引言  105

5.2 为情感分析创建一个ConvNet  106

5.3 检验VGG预建网络学到的滤波器  109

5.4 使用 VGGNet、ResNet、Inception和Xception分类图像  113

5.5 重新利用预建深度学习模型进行特征提取  125

5.6 用于迁移学习的深层InceptionV3网络  126

5.7 使用扩张ConvNet、WaveNet和 NSynth生成音乐  129

5.8 关于图像的问答  134

5.9 利用预训练网络进行视频分类的6种方法  140

第6章 循环神经网络  144

6.1 引言  144

6.2 神经机器翻译——seq2seq RNN训练  150

6.3 神经机器翻译——seq2seq RNN推理  156

6.4 你所需要的是注意力—另一个seq2seq RNN例子  157

6.5 使用RNN像莎士比亚一样写作  161

6.6 基于RNN学习预测比特币价格  165

6.7 多对一和多对多的RNN例子  174

第7章 无监督学习  176

7.1 引言  176

7.2 主成分分析  176

7.3 k均值聚类  181

7.4 自组织映射  186

7.5 受限玻尔兹曼机  191

7.6 基于RBM的推荐系统  196

7.7 用DBN进行情绪检测  198

第8章 自动编码机  205

8.1 引言  205

8.2 标准自动编码机  207

8.3 稀疏自动编码机  212

8.4 去噪自动编码机  217

8.5 卷积自动编码机  221

8.6 堆叠自动编码机  225

第9章 强化学习  231

9.1 引言  231

9.2 学习OpenAI Gym  232

9.3 用神经网络智能体玩Pac-Man游戏  235

9.4 用Q learning玩Cart-Pole平衡游戏  238

9.5 用DQN玩Atari游戏  244

9.6 用策略梯度网络玩Pong游戏  252

第10章 移动端计算  259

10.1 引言  259

10.2 安装适用于macOS和Android的TensorFlow mobile  260

10.3 玩转TensorFlow和Android的示例  265

10.4 安装适用于macOS和iPhone的TensorFlow mobile  268

10.5 为移动设备优化TensorFlow计算图  271

10.6 为移动设备分析TensorFlow计算图  273

10.7 为移动设备转换TensorFlow计算图  275

第11章 生成式模型和CapsNet  278

11.1 引言  278

11.2 学习使用简单GAN虚构MNIST图像  284

11.3 学习使用DCGAN虚构MNIST图像  289

11.4 学习使用DCGAN虚构名人面孔和其他数据集  294

11.5 实现变分自动编码机  297

11.6 学习使用胶囊网络击败MNIST前期的最新成果  305

第12章 分布式TensorFlow和云深度学习  319

12.1 引言  319

12.2 在GPU上使用TensorFlow  322

12.3 玩转分布式TensorFlow:多个GPU和一个CPU  323

12.4 玩转分布式TensorFlow:多服务器  324

12.5 训练分布式TensorFlow MNIST分类器  326

12.6 基于Docker使用TensorFlow Serving  328

12.7 使用计算引擎在谷歌云平台上运行分布式TensorFlow  330

12.8 在谷歌CloudML上运行分布式TensorFlow  333

12.9 在Microsoft Azure上运行分布式TensorFlow  334

12.10 在Amazon AWS上运行分布式TensorFlow  337

附录A 利用AutoML学会学习(元学习)  342

附录B TensorFlow处理器  350
相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
目录
相关文章
|
1月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
深度学习之格式转换笔记(三):keras(.hdf5)模型转TensorFlow(.pb) 转TensorRT(.uff)格式
将Keras训练好的.hdf5模型转换为TensorFlow的.pb模型,然后再转换为TensorRT支持的.uff格式,并提供了转换代码和测试步骤。
87 3
深度学习之格式转换笔记(三):keras(.hdf5)模型转TensorFlow(.pb) 转TensorRT(.uff)格式
|
12天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
垃圾识别分类系统。本系统采用Python作为主要编程语言,通过收集了5种常见的垃圾数据集('塑料', '玻璃', '纸张', '纸板', '金属'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对图像数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。然后使用Django搭建Web网页端可视化操作界面,实现用户在网页端上传一张垃圾图片识别其名称。
43 0
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
|
12天前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
44 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
12天前
|
机器学习/深度学习 人工智能 算法
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
蔬菜识别系统,本系统使用Python作为主要编程语言,通过收集了8种常见的蔬菜图像数据集('土豆', '大白菜', '大葱', '莲藕', '菠菜', '西红柿', '韭菜', '黄瓜'),然后基于TensorFlow搭建卷积神经网络算法模型,通过多轮迭代训练最后得到一个识别精度较高的模型文件。在使用Django开发web网页端操作界面,实现用户上传一张蔬菜图片识别其名称。
52 0
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
|
22天前
|
机器学习/深度学习 TensorFlow API
机器学习实战:TensorFlow在图像识别中的应用探索
【10月更文挑战第28天】随着深度学习技术的发展,图像识别取得了显著进步。TensorFlow作为Google开源的机器学习框架,凭借其强大的功能和灵活的API,在图像识别任务中广泛应用。本文通过实战案例,探讨TensorFlow在图像识别中的优势与挑战,展示如何使用TensorFlow构建和训练卷积神经网络(CNN),并评估模型的性能。尽管面临学习曲线和资源消耗等挑战,TensorFlow仍展现出广阔的应用前景。
50 5
|
28天前
|
机器学习/深度学习 人工智能 算法
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
车辆车型识别,使用Python作为主要编程语言,通过收集多种车辆车型图像数据集,然后基于TensorFlow搭建卷积网络算法模型,并对数据集进行训练,最后得到一个识别精度较高的模型文件。再基于Django搭建web网页端操作界面,实现用户上传一张车辆图片识别其类型。
72 0
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
|
1月前
|
机器学习/深度学习 人工智能 算法
揭开深度学习与传统机器学习的神秘面纱:从理论差异到实战代码详解两者间的选择与应用策略全面解析
【10月更文挑战第10天】本文探讨了深度学习与传统机器学习的区别,通过图像识别和语音处理等领域的应用案例,展示了深度学习在自动特征学习和处理大规模数据方面的优势。文中还提供了一个Python代码示例,使用TensorFlow构建多层感知器(MLP)并与Scikit-learn中的逻辑回归模型进行对比,进一步说明了两者的不同特点。
69 2
|
1月前
|
机器学习/深度学习 人工智能 算法
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
玉米病害识别系统,本系统使用Python作为主要开发语言,通过收集了8种常见的玉米叶部病害图片数据集('矮花叶病', '健康', '灰斑病一般', '灰斑病严重', '锈病一般', '锈病严重', '叶斑病一般', '叶斑病严重'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。再使用Django搭建Web网页操作平台,实现用户上传一张玉米病害图片识别其名称。
59 0
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
|
1月前
|
机器学习/深度学习 移动开发 TensorFlow
深度学习之格式转换笔记(四):Keras(.h5)模型转化为TensorFlow(.pb)模型
本文介绍了如何使用Python脚本将Keras模型转换为TensorFlow的.pb格式模型,包括加载模型、重命名输出节点和量化等步骤,以便在TensorFlow中进行部署和推理。
83 0
|
2月前
|
机器学习/深度学习 人工智能 算法
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
鸟类识别系统。本系统采用Python作为主要开发语言,通过使用加利福利亚大学开源的200种鸟类图像作为数据集。使用TensorFlow搭建ResNet50卷积神经网络算法模型,然后进行模型的迭代训练,得到一个识别精度较高的模型,然后在保存为本地的H5格式文件。在使用Django开发Web网页端操作界面,实现用户上传一张鸟类图像,识别其名称。
110 12
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
下一篇
无影云桌面