InvalidArgumentError in tf.placeholder
Gu-Youngfeng opened this issue · comments
Gu-youngfeng commented
When I running the following code, error happens. Here is the code which implement a simple function (forward propagation).
def forward_propagation_placeholder():
w1 = tf.Variable(tf.random_normal([2,3], stddev=1, seed=1))
w2 = tf.Variable(tf.random_normal([3,1], stddev=1, seed=1))
# x = tf.constant([[0.7, 0.9]])
x = tf.placeholder(tf.float32, shape=(3,2), name="input")
a = tf.matmul(x, w1)
y = tf.matmul(a, w2)
with tf.Session() as sess:
# sess.run(w1.initializer)
# sess.run(w2.initializer)
init_op = tf.global_variables_initializer()
sess.run(init_op)
sess.run(y, feed_dict={x: [[0.7, 0.9], [0.1, 0.4], [0.5, 0.8]]})
print(y.eval())
The detail error messages are as follows,
Error: InvalidArgumentError (see above for traceback):
You must feed a value for placeholder tensor 'input' with dtype float and shape [3,2] [Node: input = Placeholder[dtype=DT_FLOAT, shape=[3,2], _device="/job:localhost/replica:0/task:0/device:CPU:0"]()]]
Gu-youngfeng commented
Hoops, the final print statement trigger the error! That is,
sess.run(y, feed_dict={x: [[0.7, 0.9], [0.1, 0.4], [0.5, 0.8]]})
print(y.eval())
should be
y_val = sess.run(y, feed_dict={x: [[0.7, 0.9], [0.1, 0.4], [0.5, 0.8]]})
print(y_val)