Tensorflow:与Session()相比,使用InteractiveSession()总是更方便吗?

时间:2016-11-17 02:54:02

标签: python tensorflow

简单地使用sub.eval()而不是sess.run(eval)这样的内容似乎更方便,那么始终使用InteractiveSession()会更方便吗?如果我们一直使用InteractiveSession(),是否有任何权衡?

到目前为止唯一的缺点是'我看到的是我不能使用类似的东西:

with tf.InteractiveSession() as sess:
   result = product.eval() #Where product is a simple matmul
   print result
   sess.close()

相反,我只是立即定义sess = tf.InteractiveSession

1 个答案:

答案 0 :(得分:1)

根据其实现,InteractiveSession将自己设置为默认会话,随后的eval()调用可以使用此会话。在使用InteractiveSession的几乎所有情况下,您都应该可以使用Session

一个小区别是您不需要在InteractiveSession块中使用with

sess = tf.InteractiveSession()
# do your work
sess.close()

所以不要忘记在完成工作后关闭会话。

以下是session.run()eval()之间的比较:In TensorFlow, what is the difference between Session.run() and Tensor.eval()?