在TensorFlow中Session.run()与Tensor.eval()都可以用来执行.
如果你有一个Tensor t,在使用t.eval()时,等价于:tf.get_default_session().run(t).
如下面两段代码是相同的:
# Using `Session.run()`.
sess = tf.Session()
c = tf.constant(5.0)
print(sess.run(c))
# Using `Tensor.eval()`.
c = tf.constant(5.0)
with tf.Session():
print(c.eval())
而他们之间也存在这区别:
在第二个示例中,session充当上下文管理器,其作用是作为with块的生命周期的默认会话。 上下文管理器方法可以为简单用例(比如单元测试)提供更简洁的代码; 如果您的代码处理多个graphs和sessions,则可以更直接地对Se