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())
这才是我们用的最多的形式吧!
上一篇: 传智健康项目概述和环境搭建