欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

tf.interactivesession()、tf.session()的区别与联系

程序员文章站 2022-03-15 11:49:05
...

tf.interactivesession()、tf.session() 区别在哪里呢?
这里有一段官方的介绍:
The only difference with a regular Session is that an InteractiveSession installs itself as the default session on construction. The methods Tensor.eval() and Operation.run() will use that session to run ops.

意思是:与常规Session的唯一不同之处在于,interactiveSession是一种在构造上的默认会话形式,也就是说在运行过程中,用户不需要指明用哪个session运行。这样的话就是run()和eval()函数就可以直接在这个Session上运行了。

普通情况下,需要这样运行

import tensorflow as tf
import numpy as np

a=tf.constant([[1., 2., 3.],[4., 5., 6.]])
b=np.float32(np.random.randn(3,2))
c=tf.matmul(a,b)
init=tf.global_variables_initializer()
sess=tf.InteractiveSession()
print (c.eval())

实际上为了简便,我们可以写成:

import tensorflow as tf
import numpy as np

a=tf.constant([[1., 2., 3.],[4., 5., 6.]])
b=np.float32(np.random.randn(3,2))
c=tf.matmul(a,b)
init=tf.global_variables_initializer()
with tf.Session() as sess:
	print (c.eval())

把sess=tf.InteractiveSession()替换成
with tf.Session() as sess:
print (c.eval())
这才是我们用的最多的形式吧!

相关标签: session