易百教程

50、Tensor.eval() 和 Session.run() 有什么区别?

在 TensorFlow 中,我们创建图并为该图提供值。图表本身会处理所有的工作,并根据我们在图表中应用的配置生成输出。现在,当我们为图提供值时,首先,需要创建一个 TensorFlow 会话。

tf.Session()

一旦会话被初始化,那么我们应该使用那个会话。这是必要的,因为所有变量和设置现在都是会话的一部分。因此,可以应用两种可能的方式将外部值传递给图形,以便图形接受它们。

  • 第一个是在使用会话并执行会话时调用 .run()
  • 另一种方法是使用 .eval().eval() 的完整语法是:
tf.get_default_session().run(values)

values.eval() 的位置,可以放置 tf.get_default_session().run(values) 并且它将提供相同的行为。这里,eval 使用默认会话,然后执行 run()