区别在于操作与张量。操作使用run(),而Tensors使用eval()。
TensorFlow常见问题解答中似乎有一个关于此问题的参考: https ://www.tensorflow.org/programmers_guide/faq#running_a_tensorflow_computation
本节解决以下问题:Session.run()和Tensor.eval()有什么区别?
0
区别在于操作与张量。操作使用run(),而Tensors使用eval()。
TensorFlow常见问题解答中似乎有一个关于此问题的参考: https ://www.tensorflow.org/programmers_guide/faq#running_a_tensorflow_computation
本节解决以下问题:Session.run()和Tensor.eval()有什么区别?
0
如果只有一个默认会话,则它们基本上是相同的。
从https://github.com/tensorflow/tensorflow/blob/v1.12.0/tensorflow/python/framework/ops.py#L2351 :
op.run()是调用tf.get_default_session()。run(op)的快捷方式
从https://github.com/tensorflow/tensorflow/blob/v1.12.0/tensorflow/python/framework/ops.py#L691 :
t.eval()是调用tf.get_default_session()。run(t)的快捷方式
张量和操作之间的区别:
张量: https : //www.tensorflow.org/api_docs/python/tf/Tensor
操作: https : //www.tensorflow.org/api_docs/python/tf/Operation
注意:Tensor类将来会被Output取代。当前,这两个是彼此的别名。
0
我指的是tensorflow给出的Deep MNIST for Experts教程 。我在该教程的“ 训练和评估”部分遇到问题。在那里,他们给出了一个示例代码,如下所示。
因此,在这些代码段中,他们一次使用了
accuracy.eval()
。以及其他时间train_step.run()
。据我所知,它们都是张量变量。在某些情况下,我看到
所以我的问题是这三种实现之间的区别是什么。而且我怎么知道什么时候使用..?
谢谢!!