tensorflow的计算图总结

  


  

  

在TensorFlow中用计算图来表示计算任务。计算图,是一种有向图,用来定义计算的结构,实际上就是一系列的函数的组合。用图的方式,用户通过用一些简单的容易理解的数学函数组件,就可以建立一个复杂的运算

  

在TensorFlow使用图,分为两步:建立计算图和执行图

  

图,在形式上由结点节点和边边组成只——节点,用圆圈表示,代表一些对数据进行的计算或者操作(操作)。——边缘,用箭头表示,是操作之间传递的实际值(张量)

  


  

        图=tf.Graph ()      


  

        与graph.as_default ():      

用,with 表示我们用上下文经理告诉TensorFlow我们要向某个具体的图添加Op了
  

  

执行图图必须在会话(会话)里被启动,会话(会话)将图的op分发到CPU或GPU之类的设备上,同时提供执行op的方法,这些方法执行后,将产生的张量(张量)返回

  

# #开启会话

        税=tf.Session ()      

一旦开启了会话,就可以用()来运行计算想要的张量的值

  

用完会话,记得关掉

        sess.close ()      


  

  

获取是session.run()的一个参数,它可以接收任何一个我们想要执行的op或者张量,或者他们对应的列表结构。

  
      <李>如果是张量,那么session.run()输出的就是一个Numpy数组   <李>如果是Op,那么session.run()输出的就是没有李   
  

比如:sess.run (b)就是告诉会话要把计算b所需要的结点都找到按顺序执行并且输出结果。
  

  


  

  

<代码> tf.global_variables_initializer()

  

表示将所有定义的变量变量都准备好,以便于后续使用,这个Op也可以传给给session.run。比如:

        init=tf.global_variables_initializer ()   …   sess.run (init)      之前      


  

  

在tensorflow中使用张量来表示所有的数据结构,计算图中操作Op结点之间传递的都是张量

  
      <李>定义张量时可以直接使用numpy传递给Op结点,因为tensorflow的Op可以将python的数据类型转化为张量包括数字、布尔值、字符串或者列表。   <李>图中的任何结点都叫做操作简称:Op李   <李>每个Op的输出会被传递到其他Op或者sess.run()   
  


  

  

变量,变量是维护图执行过程中的状态信息的,需要它来保持和更新参数数值,是需要动态调整的。

  
      <李>张量和操作都是一成不变的,而变量是可以随着时间改变的李   <李>变量可以用在任何使用张量的运算中,它当前的值就会被传递给使用它的Op李   <李>变量通常的初始值是一些很大的0、1或者随机值张量,或者内置op: tf.zeros (), tf.ones()等李   <李>变量在图中,状态由会话管理,也是在会话中进行初始化,会话可以追踪变量的当前值是多少。   <李>会话可以只初始化一部分变量李   <李>使用tf.variables_initializer,传入初始化变量列表   <李>变量的值是可以被改变的李   <李>比如使用variable.assign(变量),或者variable.assign_add(1)   <李>每个会话维护独立的变量变量值,同一个变量不同的会话值可以是不同的。   <李>当各种优化优化器训练机器学习模型时,变量就会随之改变,当使用变量中的可训练的=False属性可以不被优化器改变。   
  

  
      <李> name_sopes可以用来管理图,可以把一组Op放到一个组块中李   
  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

tensorflow的计算图总结