TF的Feeding机制允许在计算图中进行运算时向张量注入数据,即通过feed_dict参数在session.run()、Tensor.eval()或Operation.run()中提供数据。占位符Placeholder是进行的Feed的目标,不包含数据。常用以下三个方法:tf.placeholder,tf.sparse_placeholder,tf.placeholder_with_default。
1、tf.placeholder
作用:为张量Tensor提供占位符。
格式:placeholder( dtype, shape=None, name=None )
dtype:要输入的张量中元素的类型。
shape:要输入的张量的形状。如果未指定形状,则可以输入任何形状的张量。
name:操作的名称,默认为空。
返回:返回形状为shape的,数据类型为dtype的张量,不参与计算。
2、tf.sparse_placeholder
作用:为稀疏张量SparseTensor提供占位符。
格式:sparse_placeholder( dtype, shape=None, name=None )
dtype:要输入的张量中元素的类型。
shape:要输入的张量的形状。如果未指定形状,则可以输入任何形状的张量。
name:操作的名称,默认为空。
返回:返回形状为shape的,数据类型为dtype的稀疏张量,不参与计算。
3、tf.placeholder_with_default
作用:当该函数的output张量未被feed时,使用input张量传递数据
格式:placeholder_with_default( input, shape, name=None )
input:张量,当output没有被feed,将提供该input。
shape:张量可能的形状,可以是tf.TensorShape或者ints的列表。
name:操作的名称,默认为空。
返回:与input相同类型的,默认是input的张量。