Gu-Youngfeng / LearningTensorflow

Some codes during the study process.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

InvalidArgumentError in tf.placeholder

Gu-Youngfeng opened this issue · comments

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"]()]]

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)