走向TensorFlow2.0:深度学习应用编程快速入门pdf下载pdf下载

走向TensorFlow2.0:深度学习应用编程快速入门百度网盘pdf下载

作者:
简介:本篇主要提供走向TensorFlow2.0:深度学习应用编程快速入门pdf下载
出版社:电子工业出版社
出版时间:2019-12
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

产品特色

编辑推荐

适读人群 :人工智能开发者、AI爱好者、初入门者

√ TensorFlow 2.0与上一版对比,可以视为一个完全不同的深度学习框架,必须重学。

√ 面向应用落地,涵盖图像识别|对话机器人|生成网络图片风格迁移|文本情感分析等。

√ 本书实战样例丰富,从TensorFlow模型训练到生产环境部署,全程剖析AI系统开发。

√ 通俗易懂地讲述人工智能从基本原理到知识结构再到工业应用,非常适合突击入门。

内容简介

《走向TensorFlow 2.0:深度学习应用编程快速入门》是TensorFlow 2.0编程实践的入门类书籍,目的是在TensorFlow 2.0正式版发布之际能够帮助大家快速了解其核心特性及基本编程技巧。本书通过5个常用的人工智能编程案例,帮助大家掌握如何在工作中使用TensorFlow 2.0进行应用开发。

《走向TensorFlow 2.0:深度学习应用编程快速入门》内容覆盖了Python和TensorFlow基础入门、自然语言处理和CV领域的实践案例、模型的服务化部署,希望在基于TensorFlow 2.0的人工智能编程上能够助你一臂之力。


作者简介

赵英俊
阿里云人工智能领域MVP,目前在阿里云从事产业、工业智能方向的解决方案架构师工作,基于数据智能、人工智能等技术和产品解决传统产业、工业的痛点和难点问题。现个人维护一个优秀的开源NLP项目——基于Seq2Seq的中文智能聊天机器人,目前GitHub stars超过1100。

精彩书评

本书探讨了开源机器学习软件库TensorFlow 2.0的诸多应用实践,内容涵盖各种热门的应用场景,包括图像识别、自然语言对话机器人、基于生成网络的图片风格迁移、文本情感分析等。该书是为“应用落地”而编写的,每章均附有大量的代码和注释,帮助读者更快地入门和实现应用落地。本书前两章分别介绍了Python的用法和TensorFlow的基础,在最后一章又探讨了如何将TensorFlow所训练的模型部署到生产环境中。本书对有志于在相关领域进行研究并快速产出原型的技术人员具有很高的参考价值。

寿黎但

浙江大学计算机学院教授

深度学习在工业领域逐步得到应用,尤其是其与物联网的结合,在智能家居、智慧城市、智慧交通、智慧医疗、智慧教育、智慧工业等多种行业场景中具有广阔的发展空间。而在这一发展过程中,培养合格的人工智能与物联网结合方向的研发人才,实现人工智能技术在工业应用领域的技术落地和实际应用,是人工智能领域教育培训的一个重要方向。本书详细介绍了深度学习基本原理和基于TensorFlow 2.0的编程实践入门,可以为人工智能领域的入门读者提供非常好的实践导引。

董亚波

浙江大学计算机学院副教授,人工智能研究所副所长

在与本书作者的项目合作中,借助其丰富的TensorFlow开发经验,使得项目得以顺利进行。有幸能够看到本书样章,书中内容短小精悍,有大量实战样例。读者阅读本书后,能够快速走进以TensorFlow 2.0为基础的AI系统开发领域。

牟磊育

中国地震局地球物理研究所 地震数据质量人工智能检测项目负责人

这一波人工智能浪潮与以往我们所讨论的人工智能最大的不同,就是其已经迅速在工业领域进行应用。互联网+人工智能+大数据的时代正在到来,新一代人工智能正加速推进经济向智能化跃升。因此,投资界非常看好目前人工智能在IOT、5G等方向的应用前景。本书作者以深厚的专业知识和多年的实践经验,由浅入深,用生动语言讲述了人工智能的基本原理、知识结构、工业应用。相信此书能够为人工智能爱好者,以及在此领域开展技术研究的读者提供一个通俗易懂的入门导引,帮助读者更快捷地进入人工智能应用领域。

詹家芳

原德国林德工程(杭州)有限公司总经理,留美硕士


目录

第1章 Python基础编程入门 1

1.1 Python的历史 1

1.1.1 Python版本的演进 1

1.1.2 Python的工程应用情况 2

1.2 Python的基本数据类型 2

1.3 Python数据处理工具之Pandas 6

1.3.1 数据读取和存储 7

1.3.2 数据查看和选取 8

1.3.3 数据处理 11

1.4 Python图像处理工具之PIL 14

1.4.1 PIL简介 14

1.4.2 PIL接口详解 14

1.4.3 PIL图像处理实践 18

第2章 TensorFlow 2.0快速入门 21

2.1 TensorFlow 2.0简介 21

2.2 TensorFlow 2.0环境搭建 22

2.2.1 CPU环境搭建 22

2.2.2 基于Docker的GPU环境搭建 23

2.3 TensorFlow 2.0基础知识 25

2.3.1 TensorFlow 2.0 Eager模式简介 25

2.3.2 TensorFlow 2.0 AutoGraph简介 26

2.3.3 TensorFlow 2.0低阶API基础编程 26

2.4 TensorFlow 2.0高阶API(tf.keras) 32

2.4.1 tf.keras高阶API概览 32

2.4.2 tf.keras高阶API编程 34

第3章 基于CNN的图像识别应用编程实践 36

3.1 CNN相关基础理论 36

3.1.1 卷积神经网络概述 36

3.1.2 卷积神经网络结构 36

3.1.3 卷积神经网络三大核心概念 38

3.2 TensorFlow 2.0 API详解 38

3.2.1 tf.keras.Sequential 39

3.2.2 tf.keras.layers.Conv2D 41

3.2.3 tf.keras.layers.MaxPool2D 42

3.2.4 tf.keras.layers.Flatten与tf.keras.layer.Dense 42

3.2.5 tf.keras.layers.Dropout 43

3.2.6 tf.keras.optimizers.Adam 43

3.3 项目工程结构设计 44

3.4 项目实现代码详解 44

3.4.1 工具类实现 45

3.4.2 cnnModel实现 46

3.4.3 执行器实现 48

3.4.4 Web应用实现 52

第4章 基于Seq2Seq的中文聊天机器人编程实践 55

4.1 NLP基础理论知识 55

4.1.1 语言模型 55

4.1.2 循环神经网络 57

4.1.3 Seq2Seq模型 59

4.2 TensorFlow 2.0 API详解 61

4.2.1 tf.keras.preprocessing.text.Tokenizer 61

4.2.2 tf.keras.preprocessing.sequence.pad_sequences 62

4.2.3 tf.data.Dataset.from_tensor_slices 63

4.2.4 tf.keras.layers.Embedding 63

4.2.5 tf.keras.layers.GRU 63

4.2.6 tf.keras.layers.Dense 65

4.2.7 tf.expand_dims 65

4.2.8 tf.keras.optimizers.Adam 65

4.2.9 tf.keras.losses.SparseCategoricalCrossentropy 66

4.2.10 tf.math.logical_not 66

4.2.11 tf.concat 66

4.2.12 tf.bitcast 67

4.3 项目工程结构设计 67

4.4 项目实现代码详解 68

4.4.1 工具类实现 68

4.4.2 data_util实现 69

4.4.3 seq2seqModel实现 71

4.4.4 执行器实现 77

4.4.5 Web应用实现 83

第5章 基于CycleGAN的图像风格迁移应用编程实践 85

5.1 GAN基础理论 85

5.1.1 GAN的基本思想 85

5.1.2 GAN的基本工作机制 86

5.1.3 GAN的常见变种及应用场景 86

5.2 CycleGAN的算法原理 88

5.3 TensorFlow 2.0 API详解 88

5.3.1 tf.keras.Sequential 88

5.3.2 tf.keras.Input 91

5.3.3 tf.keras.layers.BatchNormalization 91

5.3.4 tf.keras.layers.Dropout 92

5.3.5 tf.keras.layers.Concatenate 93

5.3.6 tf.keras.layers.LeakyReLU 93

5.3.7 tf.keras.layers.UpSampling2D 93

5.3.8 tf.keras.layers.Conv2D 93

5.3.9 tf.optimizers.Adam 94

5.4 项目工程结构设计 95

5.5 项目实现代码详解 96

5.5.1 工具类实现 96

5.5.2 CycleganModel实现 100

5.5.3 执行器实现 105

5.5.4 Web应用实现 109

第6章 基于Transformer的文本情感分析编程实践 111

6.1 Transformer相关理论知识 111

6.1.1 Transformer基本结构 111

6.1.2 注意力机制 112

6.1.3 位置编码 116

6.2 TensorFlow 2.0 API详解 117

6.2.1 tf.keras.preprocessing.text.Tokenizer 117

6.2.2 tf.keras.preprocessing.sequence.pad_sequences 118

6.2.3 tf.data.Dataset.from_tensor_slices 118

6.2.4 tf.keras.layers.Embedding 118

6.2.5 tf.keras.layers.Dense 119

6.2.6 tf.keras.optimizers.Adam 119

6.2.7 tf.optimizers.schedules.LearningRateSchedule 120

6.2.8 tf.keras.layers.Conv1D 120

6.2.9 tf.nn.moments 121

6.3 项目工程结构设计 121

6.4 项目实现代码详解 122

6.4.1 工具类实现 122

6.4.2 data_util实现 124

6.4.3 textClassiferMode实现 128

6.4.4 执行器实现 138

6.4.5 Web应用实现 142

第7章 基于TensorFlow Serving的模型部署实践 144

7.1 TensorFlow Serving框架简介 144

7.1.1 Servable 145

7.1.2 Source 145

7.1.3 Loader 145

7.1.4 Manager 145

7.2 TensorFlow Serving环境搭建 146

7.2.1 基于Docker搭建TensorFlow Serving环境 146

7.2.2 基于Ubuntu 16.04搭建TensorFlow Serving环境 146

7.3 API详解 147

7.3.1 tf.keras.models.load_model 147

7.3.2 tf.keras.experimental.export_saved_model 147

7.3.3 tf.keras.backend.set_learning_phase 148

7.4 项目工程结构设计 148

7.5 项目实现代码详解 149

7.5.1 工具类实现 149

7.5.2 模型文件导出模块实现 150

7.5.3 模型文件部署模块实现 150

7.5.4 Web应用模块实现 152


精彩书摘

推荐序

AlphaGo以“Master”(大师)作为ID,横空出世,在中国乌镇围棋峰会上,它与世界围棋冠军柯洁对战,在围棋领域,击败人类精英。

继而,AlphaGo Zero,从空白状态起步,在无任何人类输入的条件下,能够迅速自学围棋,并以100∶0的战绩击败人类“前辈”。

机器学习,在尝试以人类经验图谱进行学习时,短短数年,就在围棋领域,击败了拥有几千年沉淀的人类顶尖高手。

如果说这是机器的力量,那么AlphaGo Zero在尝试不以人类的经验图谱进行自我深度学习时,产生了另一个质的飞跃,这,就是机器学习的力量。

机器学习作为人工智能的一种类型,可以让软件根据大量的数据来对未来的情况进行阐述或预判。这项技术,可以通过人类经验学习和自我深度学习,帮助人类在各个领域取得突破性进展。如今,领先的科技巨头无不在机器学习方面予以极大投入。Google、苹果、微软、阿里巴巴、百度,无不深度参与,期望成为机器学习技术的铺路者、领路者、践行者。

未来是什么样子的,没人说得清,但是未来在一步步来临的路上,必然有机器学习技术的铺垫。

2011年,“谷歌大脑”开始开展面向科学研究和工程应用的大规模深度学习。TensorFlow是Google第二代机器学习系统。如今,Google将此系统开源,并将此系统的参数公布给业界工程师、学者和大量拥有编程能力的技术人员,正是为了让全世界的人都能够从机器学习与人工智能中获益。

TensorFlow社区,是机器学习领域内最活跃和友善的社区之一。社区的好处,在于学习的路上,有很多人同行,你的任何问题和疑惑,在社区中都能得到相当不错的答案。如果你想了解和学习机器学习,那么TensorFlow是一个相当不错的选择。如果你想学习TensorFlow,那么这本书会让你以最低难度领略机器学习的奥秘。

我可以代表这样一类人,作为多年的技术工作者,在工作中和机器学习也有一些接触,对机器学习有比较浓厚的兴趣。拿到这本书,相见恨晚,翻阅着,用电脑作为武器,按照书中所示,比画着,一招一式中,不觉间就进入了机器学习的奇妙世界。这也使我通过学习机器如何进行自我深度学习,让自己从另一个角度进行思考,得到收获。

英俊的这本书,书如其名,内容英朗俊秀,深入浅出,浅显易懂,思在天地,行在山野。

推荐读者群体:期望入门机器学习的学生、技术工作者及其身边的人。如果你恰好是其中一类人,又读到了这里,这本书请不要错过,因为你阅读的书中项目可能会比Android系统更加深远地影响着世界!

阿里巴巴菜鸟网络技术专家 薛巍

中国,杭州

2019年9月


前言/序言

坦白地说,在我的技术生涯规划中还未想过要在30岁生日之前出一本技术书。在30岁这一年里,我感觉有280天以上是每天工作超过12小时的,每天我积极处理工作上的事情以求在事业上取得成就、学习自己欠缺的技术以求提升能力、输出自己学到的知识以期帮助更多的人;在30岁这一年里,我第一次体会到颈椎病带来的痛苦,也将一直引以为傲的视力熬成了近视。之所以如此逼自己,大概是因为自己的不自信和痴痴的责任心在作祟。

创作初衷

最开始筹划这本书的时候,也只是想将自己在小象学院的课程内容整理成书(课程内容是关于TensorFlow 1.x的),但是当看到TensorFlow 2.0发布计划公布之后,我又觉得写一本关于TensorFlow 1.x的书是没有意义的,并且会浪费读者的时间和精力。因此,我彻底推翻书稿原来规划的内容,重新调整所有的知识点,所有的实践案例都用TensorFlow 2.0进行重新编程,从而导致交稿日期一拖再拖。说到这里,我要特别感谢电子工业出版社的张春雨老师,他一直在推动、鼓励甚至督促我,使我跌跌撞撞、写写停停完成了初稿、提升稿、提交稿。在本书写作过程中,江郎才尽和被掏空的感觉对我来说是最大的煎熬。我一直是一个喜欢分享知识和观点的人,但是这种成体系的、持续的、面向大众的分享和输出让我对自己的要求不断提高,总是担心如果写错了会误人子弟。这不是一个轻松的过程,尤其是在创业的初期,我首先要做的是全力以赴、出色地完成产品和技术工作,然后用本来就不多的休息时间来完成技术的提升和本书的编写。从一个追求技术深度的技术人员的视角来看,本书不能令我百分百满意,但是万事总要迈出第一步,希望这本书能够为读者带来一定的参考和学习价值。

内容结构

本书在内容规划上分3个部分,共7章,具体如下。

第1部分:编程基础入门,包括Python基础编程入门和TensorFlow 2.0快速入门知识。

第1章 Python基础编程入门:本章阐述了Python的历史、基本数据类型、数据处理工具Pandas、图像处理工具PIL等,基本覆盖了在后续章节中要用到的Python编程知识和工具。

第2章 TensorFlow 2.0快速入门:本章从快速上手的角度,通过TensorFlow 2.0的简介、环境搭建、基础知识、高级API编程等内容详细讲解了TensorFlow 2.0编程所需的知识和技巧。

第2部分:TensorFlow 2.0编程实践,讲解了4个编程案例,分别为基于CNN的图像识别应用、基于Seq2Seq的中文聊天机器人、基于CycleGAN的图片风格迁移应用、基于Transformer的文本情感分析。

第3章 基于CNN的图像识别应用编程实践:本章介绍了基于CNN实现对CFAIR-10图像数据的训练以及在线图像分类预测,包括CNN基础理论知识、编程中用到的TensorFlow 2.0 API详解、项目工程结构设计、项目实现代码详解等。

第4章 基于Seq2Seq的中文聊天机器人编程实践:本章介绍了基于Seq2Seq实现对“小黄鸡”对话数据集的训练以及在线中文聊天,包括自然语言模型、RNN(循环神经网络)、Seq2Seq模型、编程中用到的TensorFlow 2.0 API详解、项目工程结构设计、项目实现代码详解等。

第5章 基于CycleGAN的图片风格迁移应用编程实践:本章介绍了基于CycleGAN实现对Apple2Orange数据集的训练以及图像在线风格迁移,包括GAN基础理论知识、CycleGAN算法原理、编程中用到的TensorFlow 2.0 API详解、项目工程结构设计、项目实现代码详解等。

第6章 基于Transformer的文本情感分析编程实践:本章介绍了基于Transformer的变形结构实现对IMDB评价数据集的训练以及在线对文本的情感分析和预测,包括Transformer基本结构、注意力机制、位置编码、编程中用到的TensorFlow 2.0 API详解、项目工程结构设计、项目实现代码详解等。

第3部分:TensorFlow 2.0模型服务化部署,采用TensorFlow Serving实现对完成训练的模型进行生产环境的服务化部署。

第7章 基于TensorFlow Serving的模型部署实践:本章介绍了基于TensorFlow Serving框架实现对基于CNN的图像分类模型的服务化部署,包括TensorFlow Serving框架简介、TensorFlow Serving环境搭建、编程中用到的TensorFlow 2.0 API详解、项目工程结构设计、项目实现代码详解等。

致谢

最后,衷心感谢我的妻子包佳楠,感谢她一直以来的鼓励,以及一丝不苟地校正书稿中的语法错误和错别字,每次当我想要放弃的时候,她总是用几句不轻不重的话语让我重新回到本书的编写中来。