tf.Session()和tf.InteractiveSession()有什么区别?
tensorflow
5
0

在哪些情况下应tf.Session()tf.Session()tf.InteractiveSession()用于什么目的?

当我尝试使用前一个功能时,某些功能(例如.eval() )不起作用,而当我更改为后一个功能时,它起作用了。

参考资料:
Stack Overflow
收藏
评论
共 2 个回答
高赞 时间 活跃

SessionInteractiveSession之间的唯一区别是, InteractiveSession会将其自身设置为默认会话,因此您可以调用run()eval()而不显式调用该会话。

如果您在python shell或Jupyter笔记本中尝试TF,这将很有帮助,因为它避免了传递显式Session对象来运行操作的麻烦。

收藏
评论

主要来自官方文档:

与常规会话的唯一区别在于,InteractiveSession将自身安装为构造时的默认会话。 Tensor.eval()和Operation.run()方法将使用该会话运行操作。

这允许使用交互式上下文(例如shell),因为它避免了传递显式Session对象来运行op的麻烦:

sess = tf.InteractiveSession()
a = tf.constant(5.0)
b = tf.constant(6.0)
c = a * b
# We can just use 'c.eval()' without passing 'sess'
print(c.eval())
sess.close()

也可以说, InteractiveSession支持较少的键入,因为它允许运行变量而无需不断引用会话对象。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号