tf.placeholder( )
函数作用:
为一个总是赋值的tensor,插入一个占位符placeholder。通过操作符号变量placeholder,我们描述可交互的操作单元。placeholder不是一个特定的值,而是一个占位符,我们必须先用字典feed_dict = {key_1: value_1, key_2: value_2, 。。。}
向占位符placeholder传值,才能用Session.run()
,tensor.eval()
或operation.run()
计算。参数:
tf.placeholder(dtype, shape = None, name = None)
dtype:被喂入placeholder的tensor元素数据类型。
shape: 喂入placeholder的tensor shape(可选)。如果不指定shape,你可以喂入任意shape的tensor。
name: 自定义算子的名称 (可选)。返回:
一个可以被赋值的“tensor手柄“,不能直接用于评估或计算。例子:
import tensorflow as tf
x = tf.placeholder(tf.float32)
y = tf.placeholder(tf.float32)
z = tf.multiply(x, y)
with tf.Session() as sess:
print(sess.run(z, feed_dict = {x:[7.0], y:[2.0]}))
# 输出[ 14.]
如果希望输入任意数量的MNIST图像,每一张图展平成784维的向量。我们用2维的浮点数张量来表示这些图像,这个张量的形状是[None,784 ],None表示此张量的第一个维度可以是任何长度。