新書推薦:
《
夏天,19岁的肖像(青鲤文库)岛田庄司两次入围日本通俗文学奖直木奖的作品 ,同名电影由黄子韬主演!
》
售價:HK$
49.5
《
图解机械工程入门
》
售價:HK$
96.8
《
股市长线法宝(第6版)
》
售價:HK$
140.8
《
中文版SOLIDWORKS 2024机械设计从入门到精通(实战案例版)
》
售價:HK$
98.9
《
纯数学教程
》
售價:HK$
85.8
《
威尔士史:历史与身份的演进
》
售價:HK$
107.8
《
黄金、石油和牛油果:16件商品中的拉丁美洲发展历程
》
售價:HK$
86.9
《
母亲的选择:看不见的移民保姆与女性工作
》
售價:HK$
74.8
|
編輯推薦: |
TensorFlow 2.0与上一版对比,可以视为一个完全不同的深度学习框架,必须重学。
面向应用落地,涵盖图像识别|对话机器人|生成网络图片风格迁移|文本情感分析等。
本书实战样例丰富,从TensorFlow模型训练到生产环境部署,全程剖析AI系统开发。
通俗易懂地讲述人工智能从基本原理到知识结构再到工业应用,非常适合
突击入门。
|
內容簡介: |
TensorFlow大名鼎鼎,现在已经更新了10多个版本,随着版本的更新其接口和功能也越来越强大。尤其是TensorFlow的高阶API接口,集成了很多算法和网络模型,可以达到所用即所得的地步。但是由于各种原因,我们往往很少去了解如何使用这些高级API来进行编程,解决自己的问题。因此本书旨在能够以编程实践为入手,按照实用为先的理念让更多的AI爱好者或者想要入门的人工智能的开发者能够快速上手编程。 本书分为两大部分,*部分是深度学习编程基础实践,包含三个章节:Python基础编程实践、TensorFlow基础编程实践、Python Web编程框架Flask。第二部分是TensorFlow高级API编程实践,包括五个章节:无监督学习、基于对抗学习的风格迁移、集成微信中的聊天机器人、基于BERT的知识提取、图片自动识别与标注。本书中既有既有理论知识又案例的编程实现代码,会对代码进行详细的讲解以使读者能够跟着书本内容实践编码。
|
關於作者: |
赵英俊:阿里云人工智能领域MVP,目前在阿里云从事产业、工业智能方向的解决方案架构师工作,基于数据智能、人工智能等技术和产品解决传统产业、工业的痛点和难点问题。现个人维护一个优秀的开源NLP项目基于Seq2Seq的中文智能聊天机器人,目前GitHub stars超过1100。
|
目錄:
|
第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详解、项目工程结构设计、项目实现代码详解等。
致谢
最后,衷心感谢我的妻子包佳楠,感谢她一直以来的鼓励,以及一丝不苟地校正书稿中的语法错误和错别字,每次当我想要放弃的时候,她总是用几句不轻不重的话语让我重新回到本书的编写中来。
|
|