占位符
TensorFlow提供一个占位符操作,必须在执行时提供数据。 有关更多信息,请参阅Feeding数据部分。
Tf.placeholder(dtype,shape=None,name=None)
插入一个总是需要放入数据的张量的占位符。
重要提示:如果evaluated,该张量会产生错误。 必须使用feed_dict可选参数为Session.run(),Tensor.eval()或Operation.run()提供其值。
创建一个占位符作为一个张量(tensor),并且只有在赋值后才可以放到节点中执行。
For example:
x = tf.placeholder(tf.float32, shape=(1024, 1024))
y = tf.matmul(x, x)
with tf.Session() as sess:
print(sess.run(y)) # ERROR: will fail because x was not fed.
rand_array = np.random.rand(1024, 1024)
print(sess.run(y, feed_dict={x: rand_array})) # Will succeed.
Args:
dtype: 要放给张量(tensor)中的元素类型
shape: 要放到张量(tensor)中的形状(向量维数)(可选)。如果未指定形状,则可以为任何形状的张量
name: 操作的名称(可选).
返回:
可以用作手段来提供值但不直接评估的张量。
tf.placeholder_with_default(input, shape, name=None)
一个占位符的操作,当它的输出没有被馈送时,通过input传递
Args:
Input:A Tensor(某一张量),当它的输出没有被馈送时,A的默认值将被传送进来。 或者说当输出没有fed时,input通过一个占位符op
Shape:A的tf.TensorShape或者ints列表。张量(可能部分的)形状
Name:操作的名称(可选)
Returns:
张量. 与输入的类型相同.一个占位符张量,如果没有输入则默认为输入。