我似乎误解了“供给”在tensorflow中的工作方式。下面是这个问题的一个非常简单的例子:
import tensorflow as tf
X = tf.Variable(0.0,dtype=tf.float32)
sess = tf.Session()
sess.run(tf.global_variables_initializer())
print(sess.run(X))
# prints 0.0 as expected
sess.run(X,feed_dict={X:1.0})
print(sess.run(X))
# prints 0.0 again, but expected to see 1.0那么,我如何将一个值提供给张量,并将该值“粘滞”?
提前感谢!
发布于 2017-07-26 13:40:09
import tensorflow as tf
y = tf.Variable(0.0, name='y')
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
print("Initial value : ", sess.run(y))
print("Feeding values using dict :" ,sess.run(y, feed_dict={y:1.0}))
print("Final value : ",sess.run(y))
t = tf.assign(y,10)
print("Assigned new value to the variable using assign method: ", t.eval())
print("Final value : ", sess.run(y))输出:
Initial value : 0.0
Feeding values using dict : 1.0
Final value : 0.0
Assigned new value to the variable using assign method: 10.0
Final value : 10.0我希望它能澄清这个概念
发布于 2017-07-26 13:35:51
如果你想通过一些外部数据馈送网络,你应该使用tf.placeholder而不是tf.Value:
import tensorflow as tf
X = tf.Variable(0.0,dtype=tf.float32)
sess = tf.Session()
sess.run(tf.global_variables_initializer())
print(sess.run(X))
# prints 0.0 as expected
Y = tf.placeholder(dtype=tf.float32, shape=(1))
print(sess.run(Y,feed_dict={Y : [1.0]}))
# prints [1.0]
print(sess.run(Y))
# ERROR. Needs feed_dict https://stackoverflow.com/questions/45317397
复制相似问题