深入理解TensorFlow:架构设计与实现原理pdf下载

深入理解TensorFlow:架构设计与实现原理百度网盘pdf下载

作者:
简介:深入理解TensorFlow:架构设计与实现原理
出版社:人民邮电出版社
出版时间:2018-05-01
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

编辑推荐
  才云科技技术总监、华为深度学习团队系统工程师、华为公司深度学习云服务的技术负责人联合编写 才云科技创始人兼CEO张鑫、Google Brain工程师周玥枫、云账户联合创始人兼CTO邹永强、博拉科技创始人兼CEO周公爽、微软亚洲研究院助理研究员王锦鹏、才云科技大数据科学家郑泽宇联合推荐 不仅介绍如何使用TensorFlow,还剖析了系统设计原理,基于TensorFlow 1.2讲解。
内容简介
  本书以TensorFlow 1.2为基础,从基本概念、内部实现和实践等方面深入剖析了TensorFlow。书中首先介绍了TensorFlow设计目标、基本架构、环境准备和基础概念,接着重点介绍了以数据流图为核心的机器学习编程框架的设计原则与核心实现,紧接着还将TensorFlow与深度学习相结合,从理论基础和程序实现这两个方面系统介绍了CNN、GAN和RNN等经典模型,然后深入剖析了TensorFlow运行时核心、通信原理和数据流图计算的原理与实现,最后全面介绍了TensorFlow生态系统的发展。
作者简介
  彭靖田,才云科技技术总监,谷歌机器学习开发专家(ML GDE),Kubeflow Core Maintainer,TensorFlow Contributor,曾一度成为TensorFlow社区全球前40的贡献者。加州大学圣迭戈分校访问学者,毕业于浙江大学竺可桢学院求是科学班。曾为华为深度学习团队核心成员,主要参与华为深度学习平台的设计和研发工作。林健,华为深度学习团队系统工程师。在中科院计算所取得博士学位,并在美国俄亥俄州立大学做过博士后研究。长期从事系统软件研发,工作涉及高性能计算与分布式系统,爱好开源软件与人工智能。曾参与开发CNGrid GOS、MVAPICH等工业级软件,并协作创建LingCloud、DataMPI等开源项目。白小龙,华为公司深度学习云服务的技术负责人,主要负责深度学习平台、模型和算法的研发。长期从事信号、图像处理和机器学习研究,于2015年6月毕业于浙江大学并取得工学博士学位,曾获教育部博士生学术新人奖。
目录
序一
序二
前言
作者简介
第一部分 基础篇
第1章 TensorFlow系统概述
第2章 TensorFlow环境准备
第3章 TensorFlow基础概念
第二部分 关键模块篇
第4章 TensorFlow数据处理方法
第5章 TensorFlow编程框架
第6章 TensorBoard可视化工具
第7章 模型托管工具:TensorFlow Serving
第三部分 算法模型篇
第8章 深度学习概述
第9章 CNN模型
第10章 GAN模型
第11章 RNN模型
第四部分 核心揭秘篇
第12章 TensorFlow运行时核心设计与实现
第13章 通信原理与实现
第14章 数据流图计算原理与实现
第五部分 生态发展篇
第15章 TensorFlow生态环境
附录A 常见问题解决方案
前言
  缘起
  2016年的某个中午,我在知乎上回答了名为“如何高效学习TensorFlow代码?”的问题,其中简单介绍了我在TensorFlow开源社区的贡献,以及TensorFlow的学习路线和方法。此回答引起了一些圈内人的共鸣。人民邮电出版社图灵公司的编辑也在第一时间找到我,希望我能够写一本TensorFlow相关的图书。于是,便有了你手中的这本书。
  为什么写本书
  在ImageNet的带动下,深度学习的研究热潮已席卷全球。随着AlphaGo的横空出世,资本市场对人工智能的产业化也表现出了空前的兴趣。2017年7月,《国务院关于印发新一代人工智能发展规划的通知》的出台,标志着国家层面对人工智能发展的高度重视,明确了我国新一代人工智能发展的战略目标。未来10年,我们将见证人工智能全面升级改造传统行业。在这场深刻变革中,TensorFlow将迸发出巨大的能量。
  TensorFlow推出短短一个月,就成为了机器学习和深度学习项目中最受欢迎的开源框架。究其原因,离不开Google在人工智能与数据处理领域的深厚积淀及其在业界的强大号召力。TensorFlow自2015年11月开源以来,已经发布了30多个版本。尽管TensorFlow整个生态系统是开源的,但由于它版本升级过快,且算子种类众多,大部分公司,尤其是一些中小型或创业公司,难以在有限的时间内快速掌握TensorFlow的设计思想和基本原理。TensorFlow开源的PS-worker分布式架构也在快速迭代,与其内部基于Borg调度的分布式架构并不相同。自TensorFlow开源以来,不断有人撰写图书或博客解释其各组件的实现与原理。但遗憾的是,能够深入剖析TensorFlow内部实现细节与设计思想的资料少之又少,而本书则尝试弥补这一缺憾。
  本书以TensorFlow 1.2为基础,从基本概念、内部实现和最佳实践等方面深入剖析了TensorFlow。书中重点阐述了以数据流图为核心的机器学习编程框架的设计原则与核心实现,并且介绍了TensorFlow生态系统中的两大重要工具:TensorBoard可视化工具与TensorFlow Serving模型托管工具。同时,本书还将TensorFlow与深度学习相结合,从理论基础和程序实现这两个方面系统介绍了卷积神经网络(CNN)、生成对抗网络(GAN)和循环神经网络(RNN)等经典模型。本书不仅由浅入深地全面介绍了TensorFlow的使用方法,而且结合源代码进行了深入剖析,使读者可以快速、系统地学习TensorFlow的架构设计与实现原理。
精彩书摘
  计算机科学的研究者将编程语言或函数库为开发人员提供的程序设计基本风格和典型模式定义为编程范式。声明式编程与命令式编程是两种常见的编程范式,它们的最大区别在于:前者强调“做什么”,后者强调“怎么做”。二者各自具有显着的特点。
  ●声明式编程:结构化、抽象化,用户不必纠结每个步骤的具体实现,而是通过下定义的方式描述期望达到的状态。
  ●命令式编程:过程化、具体化,用户告诉机器怎么做,机器按照用户的指示一步步执行命令,并转换到最终的停止状态。
  通常,我们认为声明式编程起源于上世纪中叶的人工智能研究,它包括函数式编程(functional programming,简称FP)和逻辑式编程(logic programming,简称LP)等子范式。函数式编程将计算描述为对数学函数的求值,通过lambda演算精确表达计算逻辑;逻辑式编程基于一系列事实和规则,通过逻辑推导得出结论。声明式编程比较接近人的思考模式:程序中的变量代表数学中的抽象符号,而不是某一块内存地址;用户将计算过程抽象为函数表达式,将程序的输出定义为函数值。声明式程序按照用户定义的函数对输入数据进行表达式变换和计算,程序最终的输出仅依赖于用户的输入数据。计算过程既不受内部状态影响,也不受外部环境影响。后面介绍声明式编程时会以函数式编程为主。
  命令式编程起源于对汇编语言和机器指令的进一步抽象,本身带有明显的硬件结构特征。它通过修改存储器的值、产生副作用的方式实现计算。这里的“副作用”是指一个函数或表达式除了返回值之外,还对外部环境产生附加的影响,例如修改了函数作用域外的变量或输入参数。命令式程序具有内部状态,计算的过程就是状态转换的过程,改变状态的方式就是对存储器中的变量进行赋值操作。
  编程是一种输入到输出的转化机制,这两种编程范式提供了截然不同的解决方案。
  ●声明式编程:程序是一个数学模型,输入是自变量,输出是因变量,用户设计和组合一系列函数,通过表达式变换实现计算。
  ●命令式编程:程序是一个有穷自动机,输入是起始状态,输出是结束状态,用户设计一系列指令,通过指令的执行完成状态转换。
  在不设任何前提条件时,探讨两种编程范式的优劣是没有意义的。两种编程范式没有高下之分,只有左右之别,它们的特点决定了各自擅长的领域。
  ●声明式编程:擅长基于数理逻辑的应用领域,如深度学习、人工智能、符号计算系统等。
  ●命令式编程:擅长复杂业务逻辑的应用领域,如交互式UI程序、操作系统与实用工具软件等
精彩插图