基本信息
- 原书名:TensorFlow for Machine Intelligence

编辑推荐
TensorFlow入门权*指南
谷歌研发一线工程师参与撰写,生动讲解TensorFlow底层原理
内容简介
计算机书籍
本书是一本*佳的TensorFlow入门指南。几位作者都来自研发一线,他们用自己的宝贵经验,结合众多高质量的代码,生动讲解TensorFlow的底层原理,并从实践角度介绍如何将两种常见模型——深度卷积网络、循环神经网络应用到图像理解和自然语言处理的典型任务中。此外,还介绍了在模型部署和编程中可用的诸多实用技巧。
全书分为四部分,共9章。第一部分(第1~2章)讨论TensorFlow的设计模式以及选择TensorFlow作为深度学习库的优势和面临的挑战,并给出详细的安装指南。第二部分(第3~4章)深入介绍TensorFlow API的基础知识和机器学习基础。第三部分(第5~6章)探讨如何用TensorFlow实现高级深度模型,涉及卷积神经网络(或CNN)模型和循环神经网络(或RNN)模型。第四部分(第7~8章)探讨TensorFlow API中*新推出的特性,包括如何准备用于部署的模型、一些有用的编程模式等。第9章给出一些进一步了解TensorFlow的学习资源。
作译者
丹尼亚尔·哈夫纳:谷歌软件工程师
埃里克·厄威特:高级软件工程师
阿里尔·斯卡尔皮内里:团队负责人,高级Java开发者
段菲,清华大学信号与信息处理专业博士,前三星电子中国研究院高级研究员,现为英特尔中国研究院高级研究员。研究方向是深度学习、计算机视觉、数据可视化。参与翻译过《机器学习》《机器学习实践:测试驱动的开发方法》《DirectX103D游戏编程深度探索》等多本图书。
目录
前言
第一部分 开启TensorFlow之旅
第1章 引言2
1.1 无处不在的数据2
1.2 深度学习2
1.3 TensorFlow:一个现代的机器学习库3
1.4 TensorFlow:技术概要3
1.5 何为TensorFlow4
1.5.1 解读来自官网的单句描述4
1.5.2 单句描述未体现的内容6
1.6 何时使用TensorFlow7
1.7 TensorFlow的优势8
1.8 使用TensorFlow所面临的挑战9
1.9 高歌猛进9
第2章 安装TensorFlow10
2.1 选择安装环境10
2.2 Jupyter Notebook与matplotlib12
2.3 创建Virtualenv环境12
2.4 TensorFlow的简易安装13
译者序
为了帮助人们更高效地从事深度学习研究和应用,并积极分享其研究成果,优秀的开源深度学习框架如雨后春笋般不断涌现。作为深度学习领域巨擘之一的Google也在2015年11月将自己的第二代分布式机器学习系统TensorFlow开源。虽然发布时间较晚,但凭借Google在业内广泛而巨大的影响力以及顶尖的人工智能研究水平,其代码的简洁性、部署的便利性,以及在学术研究和产品研发两端取得的良好平衡,在极短的时间内便从众多优秀的深度学习框架中脱颖而出,获得了广大开发者的强烈关注。自公开发布以来,TensorFlow始终保持着兼收并蓄的态势,不断地从其他优秀开源框架中汲取优秀特性,在广大研究和开发人员的强力推动下,不断快速迭代并大幅提升代码的效率,平均每周的代码更新量都超过了万行,所形成的社区开创了空前的活跃度。完全可以预见,TensorFlow将长期位列一流开源框架的行列。
虽然TensorFlow的优点数不胜数,但其“不足”也较为突出,那就是其接口过于复杂,对初学者的编程技能和知识水平要求偏高,学习曲线过陡。本书的问世在一定程度上缓解了这个矛盾。本书的几位作者都来自Google的研发一线,他们用自己的宝贵经验,结合众多高质量的代码,生动讲解了TensorFlow的底层原理,并从实战角度介绍了如何将两种常见模型——深度卷积网络、循环神经网络应用到图像理解和自然语言处理的典型任务中。难能可贵的是,他们还介绍了在模型部署和编程中可用的诸多实用技巧。总之,本书非常适合TensorFlow的入门学习。
需要说明的是,这并不是一本机器学习理论或深度学习的入门读物,阅读本书需要读者对经典机器学习理论和算法、深度卷积网络、循环神经网络的基本原理有初步的了解,并对Python编程和常用的Python库(如NumPy和matplotlib)较为熟悉。另外,本书的代码是基于TensorFlow 0.8版的,译者对0.9版所做的接口变动以“译者注”的形式做了部分说明,并对原书中的一些错误进行了订正。尽管TensorFlow 1.0版已经正式发布,接口升级相比以往任何一版都要更多,但笔者认为读者朋友大可不必过于担忧。只要清楚地掌握了TensorFlow的基本原理和Python编程,并勤于借助互联网,相信接口问题都可迎刃而解。同时,为方便广大读者的学习,原书作者和译者也会抽时间对本书中的实例代码按照TensorFlow最新版本进行升级,请大家关注原出版社和机械工业出版社相关主题的后续图书。
感谢机械工业出版社张梦玲编辑在本书翻译过程中给予的诸多帮助,也感谢家人对我无微不至的关心。
深入理解深度学习,从了解优秀的开源框架开始,愿读者朋友们的TensorFlow学习之旅一帆风顺!
段菲
2017年3月3日
前言
自2015年11月TensorFlow第一个开源版本发布以来,它便迅速跻身于最激动人心的机器学习库的行列,并在科研、产品和教育等领域正在得到日益广泛的应用。这个库也在不断地得到改进、充实和优化。与此同时,TensorFlow社区正以惊人的速度发展壮大。无论你是新手还是有经验的用户,笔者都希望通过本书帮助你提升使用TensorFlow的能力,使你自如地充分利用这个功能强大的开源库。
本书的内容编排
第一部分:开启TensorFlow之旅
本书第一部分将帮助读者做好使用TensorFlow的准备。第1章为引言,对TensorFlow的历史脉络进行了简要的梳理,并对TensorFlow的设计模式以及选择TensorFlow作为深度学习库的优势和面临的挑战进行了讨论。
引言之后的第2章将介绍安装TensorFlow时应当考虑的因素,并给出了详细的TensorFlow安装指南,即如何从二进制安装包安装和从源码构建TensorFlow。
第二部分:TensorFlow与机器学习基础
从第3章开始,进入本书第二部分。在TensorFlow安装完毕后,第3章将深入介绍TensorFlow API的基础知识,而不会涉及过多的机器学习概念。这样做是为了将“学习TensorFlow”和“学习如何利用TensorFlow从事机器学习相关工作”区分开来。第3章将对TensorFlow API中许多重要的部分进行深入剖析。此外,还将演示如何用可视化的数据流图表示模型,并将其转化为TensorFlow代码,以及如何利用TensorBoard验证数据流图是否被正确建模。
介绍完TensorFlow API的核心概念之后,便进入第4章。这一章将利用TensorFlow实现一些简单的机器学习模型,如线性回归、对数几率回归(logistic regression)和聚类模型。
第三部分:用TensorFlow实现更高级的深度模型
第三部分由两章构成,每章都只关注一种更为复杂的深度学习模型。每章首先对模型进行描述,然后介绍如何用可视化的数据流图表示所要创建的模型。这两章还将讨论为什么要以特定方式构建这些模型,并对所涉及的数学难点进行讲解,之后再介绍如何利用TensorFlow有效地构建这些模型。
所要研究的第一个模型是卷积神经网络(CNN),对应于第5章。该章会介绍如何使用图像数据训练TensorFlow模型,并对卷积的数学原理和使用目的展开讨论,同时还将介绍如何将图像裸数据转化为一种与TensorFlow兼容的格式,以及如何对最终的输出进行测试。
第6章将探讨如何使用TensorFlow正确地构建循环神经网络(RNN)模型。通过各种自然语言处理(NLP)任务,读者将了解如何利用长短时记忆网络(LSTM)以及如何将预训练的词向量包含到模型中。
第四部分:其他提示、技术与特性
本书最后一部分将探讨TensorFlow API中最新推出的特性,内容包括如何准备用于部署的模型、一些有用的编程模式,以及其他精选主题。
其他机器学习库
TensorFlow并非唯一可用的开源机器学习库。下面列出一份可用于深度学习的简短开源库清单:
Caffe专注于卷积神经网络和图像处理,使用C++语言编写。
Chainer是另一个灵活的机器学习Python库,支持单机多GPU运算。
CNTK是微软公司发布的首个开源机器学习库,它拥有自己的模型定义语言,支持声明式的分布式模型构建。