资 源 简 介
面向机器智能的TensorFlow实践 高清完整.pdf版(带书签版保证效果好)目录译者序前言第一部分开启 TensorFlow之旅第1章引言1.1无处不在的数据1.2深度学习1.3 TensorFlow:一个现代的机器学习库1.4 TensorFlow:技术概要1.5何为 TensorFlow1.6何时使用 TensorFlow1.7 TensorFlow的优势1.8使用 TensorFlow所面临的挑战19高歌猛进第2章安装 TensorFlow2.1选择安装坏境2.2 Jupyter Notebook Li matplotlib2.3创建 Virtually环境24 TensorFlow的简易安装2.5源码构建及安装实例:在64位 Ubuntu Lin上安装GPU版 TensorFlow26安装 Jupyter Notebook27安装 matplothib28测试 TensorFlow、 Jupyter Notebook及 matplotib29本章小结第二部分 TensorFlow与机器学习基础第3章 TensorfFlow基础3.1数据流图简介3.2在 TensorFlow中定义数据流图33通过名称作用域组织数据流图34练习:综合运用各种组件3.5本章小结第4章机器学习基础4.1有监督学习简介4.2保存训练检查点4.3线性回归44对数几率同归4.5sofx分类46多层神经网络4.7棁度下降法与误差反向传播算法第三部分用 TensorFlow实现更高级的深度模型第5章日标识别与分类5.1卷积神经网络5.2卷积5.3常见层54图像与 Tensor Flow5.5CNN的实现5.6本章小结第6章循环神经网络与自然语言处理6.1循环神经网终简介62词向量嵌入63序列分类64序列标注6.5预测编码66本章小结第四部分其他提示、技术与特性第7章产品环境中模型的部署7.1搭建 TensorFlow服务开发环境7.2导出训练好的模型7.3定义服务器接口7.4实现推断服务器7.5客户端应用7.6产品准备7.7本章小结第8章辅助函数、代码结构和类8.1确保目录结构存在82下载函数8.3磁盘缓存修饰器84属性字典8.5惰性属性修饰器8.6覆盖数据流图修饰器第9章结语:其他资源译者序我们正处在一个激动人心的时代,深度学习作为近年来最具突破性的技术之一,极大地推动∫人工智能领域的研究进程,并迅速渗透各行各业,同时带动了一大批如家庭服务机器人、自动驾驶这样的新兴产业。不夸张地说,深度学习技术正在深刻地影响着人们的工作、生活和思维方式。为了帮助人们更高效地从事深度学习研究和应用,并积极分享其硏究成果,优秀的开源深度学习框架如雨后舂笋般不断涌现。作为深度学习领域巨擘之一的〔oog也在2015年11月将自己的第二代分布式机器学习系统 TensorFlow开源。虽然发布时间较晚,但凭借 Google在业内广泛而巨大的影响力以及顶尖的人工智能研究水平,其代码的简洁性、部署的便利性,以及在学术硏究和产品研发两端取得的良好平衡,在极短的时间內便从众多优秀的深度学习桓架中脱颖而岀,获得了广大开发者的强烈关注。自公开发布以来, Tensorflow始终保持着兼收并蓄的态势,不断地从其他优秀开源框架中汲取优秀特性,在广大研冗和开发人员的强力推动下,不断快速迭代并大幅提升代码的效率,平均每周的代码更新量都超过了万行,所形成的社区开创了空前的活跃度。完全可以预见, TersorFlow将长期位列一流开源框架的行列。虽然 TensorFlow的优点数不胜数,但其不足’也较为突出,那就是其接口过于复杂,对初学者的编程技能和知识水平要求偏高,学习曲线过陡。本书的问世在一定程度上缓解了这个矛盾。本书的几位作者都米自Goog的研发一线,他们用自己的宝贵终验,结合众多高质量的代码,生动讲解了 TensorFkow的底层原理,并从实战角度介绍了如何将两种常见模型—深度卷积网络循环神经网终应用到图像理解和自然语言处理的典型仼务中。难能可赀的是,他们还介绍了在模型部署和编程中可用的诸多实用技巧。总之,本书非常适合 Tensorflow的入门学习。需要说明的是,这并不是一本机器学习理论或深度学习的入门读物,阋读本书需要读者对经典机器学习理论和算法、深度卷枳网终、循环神经网络的基木原理有初步的∫解,并对 Python编程和常用的 Python(如NuPy和naψ plots)较为熟悉。另外,木书的代码是基于τ ensorflow0.8版的,译者对09版所做的接口变动以“译者注旳的形式倣了部分说明,并对原书中的一些错误进行了订正。尽管 Tensorflow10版已经正式发布,接口升级相比以往任何一版都要更多,但笔者认为读者朋友大可不必过于担忧。只要淸楚地掌握∫ Tensor Flow的苤本原理和 Python缐程,并勤于借助互联网,相信接口问题都可迎刃而解。同时,为方便广大读者的学习,原书作者和译者也会抽时间对本书中的实例代码按照 TcnsorFlow最新版本进行升级,请大家关注原出版社和机械T业出版社相关主题的后续图书。感谢杋械工业岀版社张梦玲编辑在本书翻泽过程中给予的诸多帮助,也感谢家人对我无微不至的关心。深入理解深度学习,从了解优秀的开源框架开始,愿读者朋友们的TεnsoFυw学,之旅一帆风顺!段菲2017年3月3日前言欢迎自2015年11月 TensorFlow第·个源版本发布以来,它使迅速哜身于最激动人心的札器学习库的行列,并在科研、产品和教育等领域正在得到日益广泛的应用。这个库也在不断地得到改进、充实和优化。与此同时, Tensorflow社区正以惊人的速度发展壮大。无论你是新手还是有经验的用户,笔者都希望通过本书帮助你提升使用 TensorFlow的能力,使你自如地充分利用这个功能强大的开源库本书的内容编排第一部分:开启 TensorFlow之旅本书第一部分将帮助读者做好使用 TensorFlow的准备。第1章为引言,对 TensorFlow竹历史脉络进行了简要的梳理,并对Tensor Flow的设计模式以及选择 Tensorflow作为深度学习库的优势和面临的挑战进行了讨论。引言之后的第2章将介绍安装 TensorFlow时应当考虑的因素,并给出了详细的 TensorFlow安装指南,即如何从二进制安装包安装和从源码构建 TensorFlow。第二部分: Tensor Flow与机器学习基础从第3章开始,进入本书第一部分。在 TensorFlow安装完毕后,第3章将深入介绍 TensorFlow AP的基础知识,而不会涉及过多的机器学习概念。这样做是为了将学习 TensorFlow和“学习如何利用 TensorFlow从事机器学习相关工作区分开来。第3章将对TensorFlow AP中许多重要的部分进行深入剖析。此外,还将演示如何用可视化的数据流图表示模型,并将其转化为 TensorFlow代码,以及如何利用 Tensor board验证数据流图是否被正确建模。介绍完 Tensor Flow ap的核心概念之后,便进入第4章。这一章将利用 Tensorflow实现一些简单的机器学习模型,如线性回归、对数几率回归( logistic regression)和聚类模型。第三部分:用 Tensorflow实现更高级的深度模型第三部分由两章枃成,每章都只关注一种更为复杂的深度学习模型。每章首先对模型进行描述,然后介绍如何用可视化的数据流图表示所要创建的模型。这两章还将讨论为什么要以特定方式构建这些模型,并对所涉及的数学难点进行讲解,之后再介绍如何利用 TensorFlow有效地构建这些模型。所要研宄的第一个模型是卷积神经网络(CNN),对应于第5章。该章会介绍如何使用图像数据训练 TensorFlow模型,并对卷积的数学原理和使用日的展开讨论,同时还将介绍如何将图像裸数椐转化为一种与 Tensor flow兼容的格式,以及如何对最终的输出进行测试。笫6章将探讨如何使用τ isofLow正确地枃建循环神经网终(RNN)模型。通过各种自然语言处理(NIP)任务,读者将了解如何利用长短时记忆网络(ISTM)以及如何将预训练的词向量包含到模型中。第四部分:其他提示、技术与特性本书最后一部分将探讨 TensorFlow AP中最新推出的特性,内容包括如何准备用于部署的模型、一些冇用的编程模式,以及其他精选主题。其他机器学丬库TensorFlow并非唯一可用的开源机器学习库。下面列出一份可用于深度学习的简短开源库清单:Ca能专注于卷积神经网络和图像处理,使用C艹语言编写Chainer是另一个灵活的机器学习 Python库,支持单机多GPU运算。CNIK是微软公司发布的首个开源机器学习库,它拥有自己的模型定义语言,支持声明式的分布式模型构建。Deeplearning4是一个专门针对神经网络的Jaa库,它易于与 Spark、 Hadoop和其他基于Java的分布式软件集成,具有良好的可仲缩Nervana neon是一个高效的Pyhn机器学习厍,支持单机多GPU运算Theano是一个极为灵活的 Python机器学习库,囚其出众的用户友好性以及可以用异常简单的方式定义复杂模型等特点,在科研领域深受欢迎。 TensorFlow的API与 Theano apl最为相似Torch是一个专注于GPU现的机器学习库,它是用I语言编写的,并由米自若干家大公司的研究团队提供支持。限于篇幅,本书不打算对上述这些库的优缺点展开深入讨论,但如果有时间,非常值得深入展开。 TensorFlow的作者在进行框架设计时,便是从当中的几个库汲取了灵感先修知识虽然本书主要关注 TensorFlow AP′,但笔者希望读者己经熟悉大量数学和编程慨念,包括:微积分(一元和多元)矩阵代数(尤其是矩阵乘法)基本的编程原理机器学习的基木概念此外,读者若能够掌握下列知识,则将从木书中获得史大的收获:拥有Pydo编程及模块组织的经验拥有 NumPy库的使用经验拥有 matplothb库的使用经验掌握机器学习中更髙级的概念,尤其是前馈神经网络、卷积神经网络和循环神经网络在适宜的时候,笔者会通过一些提示信息帮助读者重新熟悉那些为充分理解相关数学和 Python概念所必需的概念预期的收获通过阅读本书,读者将掌握以下内容:TensorFlow核心APTensorFlow工作流:数揖流图的定义和数据流图的执行如何在各和设备上安装 Tensorflow组织代码和项目的最佳实践如何用 TensorFlow创建核心机器学习模型如何用 TensorFlow实现RNN和CNN如何用 TensorFlow Serving部署代码利用 TensorBoard分析模型的基础知识在学习完本书之后,如果读者想对 TensorFlow获得更多了解,可参考下列资源:TensorFlow官网其中包含最新的文档、API和入门材料TensorFlow github代码库在此,可对 TensorFlow的开源实现做出贡献,并直接对源代码进行审查官方发布的用 TensorFlow实现的杋器学习模型可原封不动地使用这些模型,也可稍加调整以适合自己的设计目的谷歌研究院的博客( bogle Research Blog)提供了来自谷歌的有关 TensorFlow的应用和更新的最新消息。Gaggle获取公开数据集并与其他从事数据分析工作的人开展竟赛的绝佳网站。Da.gov美国政府的门户网站,从中可找到全美国的公开数据集。至此,‘动员演讲”经结束,现在让我们开启木书的学习之旅吧第一部分开启 TensorFlow之旅第1章引言第2章安装 TensorFlow第1章引言1.1无处不在的数据我们正实实在在地处于“信息时代”。如今,各种数据从无竻无尽的渠道不断涌入:智能手机、手表、汽车、停车计时表、家用电器。几乎仟何一种能够说出名字的技术与生俱来都具备与位于云端的某个数据库进行通信的能力。在看似无限的存储能力的支持下,开发者们为数据仓库选择了一种更多即是更好”的方法,存储着从他们的产品和客户那里收集到的以拍字节(PB)为单位计的海量数据。与此同时,计算机的性能也在持续提升。虽然CP的发展速度已经放缓,但并行处理架构取得了爆炸式的发展。一向主要服务于计算机游戏的图形处理单元(GPU)如今已被大量运用于通用计算领域,并拉开了机器学习迅猛发展的序幕。机器学习(有时简记为ML)试图利用通用的数学模型回答涉及数据的特定问题。机器学习成功应用于垃圾邮件检测、产品推荐(向客户〕、预测商品的价格等领或巳有多年。近年来,种特殊类型的札器学习范式在儿乎所有领域郤取得了无数巨大的成功,它就是深度学习。