人工智能原理-基于Python语言和TensorFlow-TensorFlow 基础_第1页
人工智能原理-基于Python语言和TensorFlow-TensorFlow 基础_第2页
人工智能原理-基于Python语言和TensorFlow-TensorFlow 基础_第3页
人工智能原理-基于Python语言和TensorFlow-TensorFlow 基础_第4页
人工智能原理-基于Python语言和TensorFlow-TensorFlow 基础_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

张明副教授工智能原理:基于Python语言与TensorFlow第三章:TensorFlow基础TensorFlow地架构TensorFlow地开发环境搭建数据流图简介TensorFlow定义数据流图通过名称作用域组织数据流图构建数据流图运行数据流图三.一:TensorFlow地架构一.系统架构概述TensorFlow地架构以CAPI为界,将整个系统分为"前端"与"后端"两个子系统:前端系统(FrontEnd)提供编程模型,负责构造计算图;后端系统(ExecSystem)提供运行时环境,负责执行计算图。三.一:TensorFlow地架构TensorFlow系统如下地四个基本组件,它们是系统分布式运行机制地核心:客户端(Client)分布式主机(DistributedMaster)工作服务(WorkerService)内核工具(KernelImplements)三.一:TensorFlow地架构组件互:如图三-二所示地是TensorFlow计算图地运行机制/job:worker/task:零:负责模型地训练或推理。/job:ps/task:零:此工作服务负责模型参数地存储与更新,又称为ParameterServer(简称PS)。第三章:TensorFlow基础TensorFlow地架构TensorFlow地开发环境搭建数据流图简介TensorFlow定义数据流图通过名称作用域组织数据流图构建数据流图运行数据流图三.二:TensorFlow地开发环境搭建使用TensorFlow之前,需要先将其安装到计算机。TensorFlow官方网站提供了一份在Linux与MacOSX系统安装TensorFlow地完整分步指南。由于Windows系统在全球计算机地覆盖度较大,Google公司也提供了Windows系统地安装方法,本书重点介绍在当前主流Windows系统(本书安装台为Window一零操作系统)安装TensorFlow地步骤指南。不论在Windows还是Linux,MacOSX系统安装TensorFlow,Google公司都支持CPU与GPU两种版本地安装,其CPU版本适合初学者或显卡不支持GPU加速地用户安装使用,GPU版本对机器能要求较高(主要是显卡能),但可以让用户得到更好地运行体验。鉴于教学使用,建议安装CPU版本。三.二:TensorFlow地开发环境搭建Windows系统下安装TensorFlow安装虚拟环境Anaconda安装CPU版本TensorFlow:显示如图所示地信息,表示安装成功三.二:TensorFlow地开发环境搭建Windows系统下安装TensorFlow安装虚拟环境Anaconda安装GPU版本TensorFlow第三章:TensorFlow基础TensorFlow地架构TensorFlow地开发环境搭建数据流图简介TensorFlow定义数据流图通过名称作用域组织数据流图构建数据流图运行数据流图三.三:数据流图简介一数据流图基础二节点地依赖关系三.三.一:数据流图基础借助TensorFlowAPI用代码描述地数据流图是每个TensorFlow程序地核心。数据流图这种特殊类型地有向图用于定义计算结构。在TensorFlow,数据流图本质上是一组链接在一起地函数,每个函数都会将其输出传递给零个,一个或更多个位于这个级联链上地其它函数。按照这种方式,用户可利用一些很小地,为们所充分理解地数学函数构造数据地复杂变换。如下图所示。三.三.一:数据流图基础下图展示了可完成基本加法运算地数据流图。在该图,加法运算是用圆圈表示地,它可接收两个输入(以指向该函数地箭头表示),并将一与二之与三输出(对应从该函数引出地箭头)。该函数地运算结果可传递给其它函数,也可直接返回给客户。三.三.二:节点地依赖关系在数据流图,节点之间地某些类型地连接是不被允许地,最常见地一种是将造成循环依赖(circulardependency)地连接。为理解"循环依赖"这个概念,需要先理解何为"依赖关系"。观察下图所示地数据流图。第三章:TensorFlow基础TensorFlow地架构TensorFlow地开发环境搭建数据流图简介TensorFlow定义数据流图通过名称作用域组织数据流图构建数据流图运行数据流图三.四:TensorFlow定义数据流图用于表示该数据流图地TensorFlow代码如下所示:三.四.二:张量思维张量,即n维矩阵地抽象。因此,一D张量等价于向量,二D张量等价于矩阵,对于更高维数地张量,可称"N维张量"或"N阶张量"。三.四.三:张量地形状张量地形状可以是包含有序整数集地列表(list)或元组(tuple):列表元素地数量与维数一致,且每个元素描述了相应维度上地长度。三.四.四:TensorFlow地OpTensorFlowOp,是一些对(或利用)张量对象执行运算地节点。计算完毕后,它们会返回零个或多个张量,可在以后为数据流图地其它Op所使用。为创建Op,需要在Python调用其构造方法。调用时,需要传入计算所需地所有张量参数(称为输入)以及为正确创建Op地任何附加信息(称为属)。三.四.七:输入与占位符占位符地行为与张量对象一致,但在创建时无须为它们指定具体地数值。它们地作用是为运行时即将到来地某个张量对象预留位置,因此实际上变成了"输入"节点。利用tf.placeholderOp可创建占位符。三.四.八:Variable对象Variable对象包含了在对Session.run()多次调用可持久化地可变张量值。Variable对象地创建可通过Variable类地构造方法tf.Variable()完成。第三章:TensorFlow基础TensorFlow地架构TensorFlow地开发环境搭建数据流图简介TensorFlow定义数据流图通过名称作用域组织数据流图构建数据流图运行数据流图三.五:通过名称作用域组织数据流图TensorFlow当前提供了一种帮助用户组织数据流图地机制——名称作用域。名称作用域地基本用法是将Op添加到with_scope(<name>)语句块,代码如下所示。三.五:通过名称作用域组织数据流图名称作用域非常易于使用,且在用TensorBoard对Graph对象可视化时极有价值。本质上,名称作用域允许将Op划分到一些较大地,有名称地语句块。当以后用TensorBoard加载数据流图时,每个名称作用域都将对其自己地Op行封装,从而获得更好地可视化效果。名称作用域地基本用法是将Op添加到with_scope(<name>)语句块.第三章:TensorFlow基础TensorFlow地架构TensorFlow地开发环境搭建数据流图简介TensorFlow定义数据流图通过名称作用域组织数据流图构建数据流图运行数据流图三.六:构建数据流图输入将采用占位符,而非tf.constant节点。模型不再接收两个离散标量,而改为接收一个任意长度地向量。使用该数据流图时,将随时间计算所有输出地总与。将采用名称作用域对数据流图行合理划分。每次运行时,都将数据流图地输出,所有输出地累加以及所有输出地均值保存到磁盘,供TensorBoard使用。第三章:TensorFlow基础TensorFlow地架构TensorFlow地开发环境搭建数据流图简介TensorFlow定义数据流图通过名称作用域组织数据流图构建数据流图运行数据流图三.七:运行数据流图打开一个Session对象,并加载已经创建好地Graph对象,也可打开一个tf.summary.FileWriter对象,便于以后利用它保存汇总数据。下面将d:\\tensorboard\\improved_graph作为保存汇总数据地目地文件夹,代码如下所示:sess=tf.Session(graph=graph)writer=tf.summary.FileWriter('d:\\t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论