1. 首页
  2. 人工智能
  3. 机器学习
  4. 面向机器智能的tensorflow实践

面向机器智能的tensorflow实践

上传者: 2019-04-30 16:48:09上传 PDF文件 24.1MB 热度 32次
面向机器智能的tensorflow实践,Sam Abrahams 山姆。亚伯拉罕著。段菲译目录译者序前言第一部分开启 TensorFlow之旅第l章引言11[处不在的数据一1.2深度学习13 TensorFlow:一个现代的机器学习库1.4 TensorFlow:技术概要1.5何为 TensorFlo1.6何时使用 TcnsorFlow1.7 TensorFlow的优势1.8使用 TensorFlow所面临的挑战19高歌猛进第2章安装 TensorFlow2.1选择安装环境2.2 Jupyter Notebook j matplotlib23创建 Vrlualeny环境24 TensorFlow的简易安装2.5源码构建及安装实例:在64位 Ubuntu Lin上安装GPU版 TensorFlow26安装 Jupyter Notebook27安装 matplothib28测试 TensorFlow、 Jupyter Notebook及 matplotht2.9本章小结第二部分 TensorFlow与机器学习基础第3章 TensorFlow基础3.1数据流图简介3.2在 TensorFlow定义数据流图3.3通过名称作用域组织数据流图34练习:综合运用各种组件3.5本章小结第4章机器学习基础4有监督学习简介4.2俣存训练检查点4.3线性回归44对数几率同归4.5 softmax分类46多层神经网络4.7梯度下降法与误差反向传播算法第三部分用 TensorFlow实现更高级的深度模型第5章日标识别与分类5.1卷积神经网络5.2卷秒53常见层54图像与 TensorFlow5.5CNN的实现56本章小结第6章循环神经网络与自然语言处理6.1循环神经网终简介6.2词向量嵌入63序列分类64序列标注6.5顶测编码66本章小结第四部分其他提示、技术与特性第7章产品环境中模型的部署7.1搭建 TcnsorFlow服务开发环境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开源。虽然发布时间较晚,但凭借〔oge在业内广泛而巨大的影响丿以及顶尖的人工智能研究水平,其代码的简洁性、部署的便利性,以及在学术研究和产品研发两端取得的良好平衡,在极短的时间内便从众多伉秀的深度学习框架中脱颖而岀,获得了广大开发者的强烈关注。自公开发布以来, Tensorflow始终保持着兼收并蓄的态势,不断地从共他优秀开源框架中汲取优秀特性,在疒¨大硏究和开发人员的强力推动下,不断快速迭代并大幅提升代码的效率,平均每周的代码更新量都超过了万行,所形成的社区开创了空前的活跃度。完全可以预见, TensorfFlow将长期位列一流开源框架的行列。虽然 TeIsorFlow的优点数不矬数,但其“不足'也较为突出,那就是其接口过」复杂,对初学者的编程技能和知识水ˇ娈求偏高,学习曲线过陡。本书的问世在一定稈度上缓解了这个矛后。本书的几位作者都来自 Google的研发一线,他们用自己的宝贵经验,结合众多高质量的代码,生动讲解了 TensorFkow的底层原理,并从实战角度介绍了如何将两种常见模型—深度卷积网络、循环神经网络应用到图像理解和自然语言处理的典型任务中。难能可赀的是,他们还介绍了在模型部署和编程中可用的诸多实用技巧。总之,本书非常适合 TensorFlow的入门学习。需要说明的是,这并不是一本机器学习理论或深度学习的入门读物,阅读本书需要读者对经典机器学习理论和算法、深度卷积网络、循环袒经网络的基木原理有初步的了解,并对 Python编程和常用的Pyto库(如№uPy和 matplotib)较为熱悉。另外,本书的代码是基于 TensorFlow08版的,译者对09版所做的接凵变动以“译者注的形式做了部分说明,并对原书中的一些错误进行了订正。尽管 TensorFlow1.0版已经正式发布,接口升级相比以往任何一版都要更多,但笔者认为读者朋友大可不必过于担忧。只要清楚地掌挞∫ Tensor Flow的基本原理和PJto编程,并勤」借助互联刈,相信接口问题都可迎刃而解。同酎,为方便广大读者的学习,原书作者和译者也会抽时间对本书中的实例代码按照 TensorFlow最新版本进行升级,请大家关注原出版社和机械业出版社相关主题的后续图书。感谢杋械工业岀版社张梦玲编辑在本书翻译过程中给予的诸多帮助,也感谢家人对我无微不至的关心深入理解深度学习,从了解优鷟的开源框架开始,凨读者朋友们的 Tensorωw学习之旅一帆风顺!段菲2017年3月3日前言欢迎自2015年ll月 TensorFlow第…个开源版本发布以来,它便迅速跻身于最激动人心的机器学刈库的行刎,并在科研、产品和教育等领域正在得到日益广泛的应用。这个库也在不断地得到改进、充实和优化。与此同时, TensorFlow社区正以惊人的速度发展壮大。无论你是新手还是冇经验的用户,笔者都希望進过本书帮助你提升使用 TensorFlow的能力,使你自如地充分利用这个功能强大的开源库本书的内容编排第一部分开启 TensorFlow之旅本书第一部分将帮助读者做好使用 TcnsorFlow的准备。第1章为引言,对 Tensor^w竹历史欣络进行了简要的梳理,并对TensorFlow的设计模式以及选择 TensorFlow作为深度学习库的优势和面临的挑战进行了讨论。引言之后的第2章将介绍安装 TensorFlow时应当考虑的因素,并给出了详绀的 TensorFlow安装指南,即如何从二进制安装包安装和从溟码构建 TensorFlow第二部分: Tensor low与机器学丬基础从第3章开始,进入本书第一部分。在 TensorFlow安装完毕后,第3章将深入介绍 TensorFlow AP的基础知识,而不会涉及过多的机器学习概念。这样做是为了将学习 TensorFlow`和“学习如何利用 TensorFlow从事机器学习相关工作区分开来。第3章将对TensorFlow ap中许多重要的部分进行深入剖析。此外,还将演示如何用可视化的数据流图表示模型,并将其转化为 Tensor Flow代码,以及如何利用 Tensor board验证数据流图是否被正确建模,介绍完 Tensor-kwAP的核心概念之后,便进入第4章。这一章将利用 TcnsorFlow实现一些简单的机器学习模型,如线性回归、对数几率回归( logistic regression)和聚类模型。第三部分:用 TensorFlow实现更高级的深度模型第三部分由两章枃成,每章都只关注一种更为复杂的深度学习模型。每章首先对模型进行描述,然后介绍如何用可视化的数据沇图表示所要创建的模型。这两章还将讨论为什么要以特定方式构建这些模型,并对所涉及的数学难点进行讲解,之后再介绍如何利用 TensorFlow有效地构建这些模型。所要硏究的第一个模型是卷积神经网终(NN),对应于第5章。该章会介绍如何使用图像数据训练 Tensorflow模型,并对卷积的数学原理和使用目的展开讨论,同时还将介绍如何将图像禊数据转化为一种与 TensorFlow兼容的格式,以及如何对最终的输出进行测试。第6章将探讨如何使用 TcnsorFlow正确地枃建循环神经网终(RNN)模型。通过各种自然语言处理(NIP)任务,读者将了解如何利用长短时记忆网终(LSTM)以及如何将预训练的词向量包含到模型中。第四部分:其他提示、技术与特性本书最后一部分将探讨 TensorFkw apl中最新推出的特性,内容包括如何准备用于部著的模型、一些冇用的编程模式,以及共他精选主题。[他机器学习厍」Tensor卜ow并非唯一可用的开源机器学习库。下面列出一份可用于深度学习的简短开源库清单:Cat专注于卷积神经网络和图像处理,使用C艹语言编写Chaincr是另一个灵活的机器学习 Python库,攴持单机多GPU运算。CNK是微软公司发布的首个开源权器学习库,它拥有自己的模型定义语言,支持声明式的分布式模型构建Deeplearninge4是一个专门针对神纤网络的Java库,它易于与 Spark、 Hadoop和其他基于Jawa的分布式软件集成,具有良好的可伸缩性。Nervarra Neon是一个高效的Pyhm机器学习厍,支持单机多GPU运算Theano是一个极为灭活的 Python机器学习库,因其出众的用户友好性以及可以用异常简单的方式定义复杂模型等特点,在科研领域深受欢迎。 TensorFlow的AP与 Theano api最为相似。Torch是一个专注于〔P实现的机器学习库,它是用Iu语言编写的,并由来自若干家大公司的研究团队提供支持。限于篇幅,本书不打算对上述这些库的优缺点展开深入讨论,但如果有时间,非常值得深入展开。 TensorFlow的作者在进行框架设计时,便是从当中的几个库汲取了灵感。先修知识虽然本书主要关注 TensorFlow API,但笔者希望读者己经熟悉大量数学和编程概念,包括:微积分(一元和多元)矩阵代数(尤其是矩阵乘法)基本的编程原理机器学习的基木概念此外,读者若能够掌握下列知识,则将从木书中获得史大的收获:拥有Py鳊程及模块组织的经验拥有 NumPy库的使用经验拥有 matplothb库的使用经验掌握机器学习中更高级的概念,尤其是前馈神经网络、卷积神经网络和循环神经网络在适宜的时候,笔者会通过一些提示信息帮助读者重新熟悉那些为允分理解相关数学和 Python既念所必需的概念。预期的收获通过阅读本书,读者将掌握以下内容TcnsorFlow核心APITcnsorFloy杓工作流:数据流图的定义和数据流图的执行如何在各种设备上安装 TensorFlow组织代码和项日的最佳实践如何用 TensorFlow创建核心机器学习模型如何用 Tensorflow实现RNN和CNN如何用 TensorFlow serving部署代码利用 Tensorboard分析模型的基础知识在学习完本书之后,如果读者想对 TensorFlow获得更多了解,可参考下列资源:TensorFlow官网其中包含最新的文档、API和入门材料:TensorFlow github代码库在此,可对 Tensorflow的开源实现做出贡献,并直接对源代码进行审査官方发布的用Tesωrkw实现的机器学习模型可原封不动地使用这些模型,也可稍加调整以适合自己的设计目的。谷歌研究院的博客( Google Research Blog)提供了来自谷歌的有关 TensorFlow的应用和更新的最新消息。Gaggle获取公开数据集并与其他从事数据分析工作的人开展竞赛的绝佳站Data. gov美国政府的门户网站,从中可找到全美国的公开数据集。至此,“员演讲”经结束,现在让我们开启本书的学习之旅吧!第一部分开启 TensorFlow之旅第1章引言第2章安装 Tensorfbw第1章引言1.1无处不在的数据我们正实实在在地处于息时代。如今,各种数据从无穷无尽的渠道不断涌入:智能手机、手表、汽车、停车计时表、家用电器。几乎仟何一种能够说出名字的技术与生俱来都具备与位于云端的某个数据戽进行通信的能力。在看似无限的存储能力的支持下,开发者们为数据仓库选择了一种更多即是更好¨的方法,存储着从他们的产品和客户那里收集到的以拍字节(PB)为单位计的海量数据。与此同时,计算机的性能也在持续提升。虽然CPU的发展速庋已经放缓,但并行处理架构取得了爆炸式的发展。一向主要服务于计算机游戏的图形处理单元(GPU)如今已被人量运用于通用计算领域,并拉开了机器学习迅猛发展的序幕。机器学习(有时简记为M)试图利用通用的数学模型回答涉及数据的特定问题。机器学习成功应用于垃圾邮件检测、产品推荐(向客户〕、预测崗品的价格等领域已有多年。近年来,ˉ种特殊类型的机器学丬范式在几乎所有领域都取得了无数巨大的成功,它就是深度学习。
用户评论