tf.InteractiveSession():它能让你在运行图的时候,插入一些计算图,这些计算图是由某些操作(operations)构成的。这对于工作在交互式环境中的人们来说非常便利,比如使用IPython。
tf.Session():需要在启动session之前构建整个计算图,然后启动该计算图。
意思就是在我们使用tf.InteractiveSession()来构建会话的时候,我们可以先构建一个session然后再定义操作(operation),如果我们使用tf.Session()来构建会话我们需要在会话构建之前定义好全部的操作(operation)然后再构建会话
例子
用Session()的例子:
a = tf.constant(5.0)
b = tf.constant(6.0)
c = a * b
#可以看到这里已经定义好了所有的节点,这里有a, b, c.
#也就是说构造阶段完成后, 才能启动图. 启动图的第一步是创建一个 Session 对象,
#如果无任何创建参数, 会话构造器将启动默认图.总结为一句话 :
#先定义操作,然后定义会话,然后启动会话.
with tf.Session() as sess:
# We can also use 'c.eval()' here.
print(sess.run(c))
用tf.InteractiveSession()的例子:
sess = tf.InteractiveSession()
a = tf.constant(5.0) #可以先构建会话,然后定义操作(tf.Session()不行)
b = tf.constant(6.0)
c = a * b
# We can just use 'c.eval()' without passing 'sess'
print(c.eval())
sess.close()