深度学习原理与TensorFlow实践 课件 第5章 TensorFlow编程基础.pptx

深度学习原理与TensorFlow实践 课件 第5章 TensorFlow编程基础.pptx

深度学习原理与TensorFlow实践第五章TensorFlow编程基础实验:识别图中模糊的手写数字TensorFlow的运行模型——会话计算图与张ensorFlow变量目录 CONTENT课前回顾020103OPTIONOPTIONOPTIONTensorFlow的安装推荐使用IDE安装准备以及TensorFlow的主要依赖包Python安装TensorFlow以及TensorFlow的使用计算图与张量初识计算图与张量TensorFlow的计算模型——计算图TensorFlow的数据模型——张量0 1初识计算图与张量 TensorFlow程序的计算过程用表示为一个计算图(Graph),其作用和外观都可以类比程序流程图来表示; TensorFlow中的每一个运算操作可视为一个节点,每个节点可以有任意多的输入和输出。如果一个节点的输入需要另一个节点的输出,那么可以认为这两个节点存在依赖关系。存在依赖关系的节点之间使用一条边进行相连。通常意义上数据都会通过边从一个计算节点流动到另一个计算节点,但是有一种特殊的边,它只起依赖控制的作用,简单来说就是等这条边的起始节点完成计算后,后面的节点才能够开始计算。 张量(Tensor)就是计算图中流动的数据,这个数据可以是一开始定义好的,也可以是通过各种计算推导出来的,张量可以简单形象的理解为多维数组。初识计算图与张量一个简单的向量求和案例的计算图如上图所示,在这张图中,add运算操作可看作1个节点。Add预算操作依赖a,b节点,所以add有两条边分别连接a,b节点,而这段程序中没有任何计算依赖add计算的输出所以add没有输出边。计算图与张量初识计算图与张量TensorFlow的计算模型——计算图TensorFlow的数据模型——张量0 1TensorFlow的计算模型——计算图TensorFlow这个单词由两部分组成:tensor代表张量,是数据模型flow代表流,是计算模型流动的事务具有有向性,计算图就是一个具有 “每一个节点都是计算图上的一个节点,而节点之间的边描述了计算之间的依赖关系” 性质的有向图。计算图由边(表示依赖关系,又被叫做“张量”)和节点(又被叫做“神经元”、“算子”,op)组成。TensorFlow的计算模型——计算图计算图具有程序流程图类似的各种图形组件,在计算图的组件如下图所示。向量相加例子中的a,b节点,为两个常量,对应两个空心圆圈;add作为一个计算节点为一个椭圆,add操作依赖于a,b节点的数据输出,所以就会有个一个带箭头的线,代表数据的流动。TensorFlow的计算模型——计算图import tensorflow as tf a= tf.constant([1.0, 2.0], name=a)b = tf.consta2nt([3.0, 4.0],name=b)result = a + bprint(a.graph is tf.get_default_graph())print(b.graph is tf.get_default_graph())运行结果TrueTrue 在TensorFlow程序运行的时候,系统会自动维护一张默认的计算图。上面代码运行的过程中,TensorFlow会把所有计算过程自动添加到默认计算图中。要获取默认的计算图,可以调用get_default_graph函数,而每个计算都有个graph属性,表示这个计算属于哪个计算图。正是由于自动把计算添加到默认计算图的机制,所以上面的两个判断a,b是否属于默认的计算图的语句都输出为True。TensorFlow的计算模型——计算图 上面的代码没有显式地创建计算图,而是利用TensorFlow的默认处理机制,这种机制通常能够满足大多数场景,但是有的时候如果需要多计算图来完成计算的时候,可以调用Graph函数创建新的计算图。新创建的计算图,可以通过as_default函数把它设置为默认计算图(设置为默认的好处就是不用手动把张量附加到该计算图)。import tensorflow as tf# 使用Graph创建新计算图g1 = tf.Graph()# 把g1设置为默认计算图with g1.as_default(): # 创建计算图的变量 a = tf.get_variable(a, [2], initializer=tf.ones_initializer()) b = tf.get_variable(b, [2], initializer=tf.zeros_initializer())TensorFlow的计算模型——计算图g2 = tf.Graph()with g2.as_default(): a = tf.get_variable(a, [2], initializer=t

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档