tensorflow —— tf.Session()

tf.Session()

在TensorFlow的世界里,变量的定义和初始化是分开的,所有关于图变量的赋值和计算都要通过tf.Session的run来进行。想要将所有图变量进行集体初始化时应该使用tf.global_variables_initializer。

session用于执行命令,对话控制。sess.run()用于执行某一个小图片上的功能。

sess.run()

feed_dict

  1. 给使用placeholder创建出来的tensor赋值
  2. feed 使用一个 ‘值’ 临时替换一个 op 的输出结果。提供 feed 数据作为 run() 调用的参数。feed 只在调用它的方法内有效,方法结束,feed 就会消失。
import tensorflow as tf
y = tf.Variable(1)
b = tf.identity(y)
with tf.Session() as sess:
    tf.global_variables_initializer().run()
    print(sess.run(b,feed_dict={y:3})) #使用3 替换掉
    #tf.Variable(1)的输出结果,所以打印出来3 
    #feed_dict{y.name:3} 和上面写法等价
    print(sess.run(b))  #由于feed只在调用他的方法范围内有效,所以这个打印的结果是 1

必须先构建(定义)graph,之后才能运行(启动)graph。

tf.Graph

两种用于运行计算图(graph)的会话(session)

tf.Session()

tf.InteractivesSession()

tf.Session()

fetch 取回

feed 注入

用途

  1. 临时替代graph中任意操作的输入tensor
  2. 对graph中任何op提交补丁(插入一个tensor)

使用方式

  1. feed_dict提供数据,作为sess.run( )调用的参数。使用tf.placeholder( ),为某些操作的输入创建占位符。
  2. 如果没有正确提供tf.placeholder( ),feed操作将产生错误。
  3. feed注入的值不能是tf的tensor对象,应该是Python常量、字符串、列表、numpy ndarrays,TensorHandles。

tf.InteractivesSession()

当python编辑环境是shell、IPython等交互式环境时,用方法tensor.eval( ),operation.run( ) 代替sess.run( )

with

上下文管理器在对象内实现了两个方法:enter() 和__exit__()
enter()方法会在with的代码块执行之前执行,exit()会在代码块执行结束后执行。
exit()方法内会自带当前对象的清理方法。

你可能感兴趣的:(tensorflow)