知识库

记录点点滴滴

TensorFlow笔记:Session.run()与Tensor.eval()

在TensorFlow中Session.run()与Tensor.eval()都可以用来执行.

如果你有一个Tensor t,在使用t.eval()时,等价于:tf.get_default_session().run(t).
如下面两段代码是相同的:

而他们之间也存在这区别:

在第二个示例中,session充当上下文管理器,其作用是作为with块的生命周期的默认会话。 上下文管理器方法可以为简单用例(比如单元测试)提供更简洁的代码; 如果您的代码处理多个graphs和sessions,则可以更直接地对Session.run()进行显式调用。


简而言之:Session.run()常用于获取多个tensor中的值,而Tensor.eval()常用于单元测试、获取单个Tensor值

示例如下


References:
[1]:https://www.tensorflow.org/api_docs/python/tf/Tensor#eval
[2]:https://www.tensorflow.org/api_docs/python/tf/Session#run
[3]:https://stackoverflow.com/questions/33610685/in-tensorflow-what-is-the-difference-between-session-run-and-tensor-eval
[4]:https://www.tensorflow.org/programmers_guide/faq#running_a_tensorflow_computation

点赞

发表评论

邮箱地址不会被公开。 必填项已用*标注