tf.placeholder tf.placeholder( dtype, shape=None, name=None ) Inserts a placeholder for a tensor that will be always fed. Important : This tensor will produce an error if evaluated. Its value must be fed using the feed_dict optional argumen
tf.placeholder
tf.placeholder(
dtype,
shape=None,
name=None
)
Inserts a placeholder for a tensor that will be always fed.
Important: This tensor will produce an error if evaluated. Its value must be fed using the feed_dict
optional argument to Session.run()
, Tensor.eval()
, or Operation.run()
.
在构建graph的过程中,tensor是没有实际数据的,只是表达计算过程,那么通过placeholder函数对tensor变量进行占位表示。然后在Session执行过程中,通过feed_dict对占位的tensor进行feed值
Args:
dtype
: The type of elements in the tensor to be fed.指定数据类型shape
: The shape of the tensor to be fed (optional). If the shape is not specified, you can feed a tensor of any shape.指定tensor的维度,如果没有指定,可以feed任意维度的tensorname
: A name for the operation (optional).
Returns:
A Tensor
that may be used as a handle for feeding a value, but not evaluated directly.
Raises:
RuntimeError
: if eager execution is enabled
1 import tensorflow as tf 2 import numpy as np 3 4 5 x = tf.placeholder(tf.float32, shape=(1024, 1024)) 6 y = tf.matmul(x, x) 7 8 with tf.Session() as sess: 9 #print(sess.run(y)) # ERROR: will fail because x was not fed. 10 rand_array = np.random.rand(1024, 1024) 11 print(sess.run(y, feed_dict={x: rand_array})) # Will succeed.