Tensorflow:eval与run的不同
刚开始接触Tensorflow,好多东西不会。慢慢总结备忘。
学习自带的mnist示例,对于evla()与run()的区别不是很理解,网上搜了一下,记录下来。
train_accuracy = accuracy.eval(feed_dict = {x:batch[0],y_:batch[1],keep_prob :1.0})
print("step %d,trianing accuracy %g"%(i,train_accuracy))
sess.run([train],feed_dict = {x:batch[0],y_:batch[1],keep_prob:0.5})
原文链接:
https://stackoverflow.com/questions/38987466/eval-and-run-in-tensorflow
答案1
If you have only one default session, they are basically the same.
From https://www.tensorflow.org/versions/r0.10/api_docs/python/framework.html#Operation:
op.run() is a shortcut for calling tf.get_default_session().run(op)
From https://www.tensorflow.org/versions/r0.10/api_docs/python/framework.html#Tensor:
t.eval() is a shortcut for calling tf.get_default_session().run(t)
Why these differences between Tensor and Operation? From https://www.tensorflow.org/versions/r0.10/api_docs/python/framework.html#Tensor:
Note: the Tensor class will be replaced by Output in the future. Currently these two are aliases for each other.
答案2
The difference is in Operations vs. Tensors. Operations use run() and Tensors use eval().
There seems to be a reference to this question in TensorFlow FAQ: https://www.tensorflow.org/programmers_guide/faq#running_a_tensorflow_computation
The section addresses the following question: What is the difference between Session.run() and Tensor.eval()?
(๑•ᴗ•๑)觉得有用,赏个植发的小钱钱。(๑•ᴗ•๑)
更多推荐
所有评论(0)