python中的知识点总结(2):占位符

占位符

1、tf.placeholder

其中,tf.placeholder()函数具体情况如下:

def placeholder(dtype, shape=None, name=None):
  """为一个张量插入一个占位符,该张量总是被填充
  注意:若直接对这个张量进行evaluated,会提示错误。 必须使用feed_dict可选参数将其值提供给Session.run(),Tensor.eval()
  或Operation.run()进行转换。
  
   Args:
    dtype: 张量中的元素类型.
    shape: 要输入的张量的形状(可选)。如果没有指定形状,则可以提供任意形状的张量。
    name: 操作的名称(可选)。

  Returns:
    A `Tensor` that may be used as a handle for feeding a value, 不能直接进行 evaluated。
    
  例子::
  '''python
  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.
  '''

  """
  return gen_array_ops._placeholder(dtype=dtype, shape=shape, name=name)

2、tf.placeholder_with_default

def placeholder_with_default(input, shape, name=None):
  """一个占位符的操作,当它的输出不被馈送(fed)时,通过input传递 

  Args:
    input: A ‘Tensor’。当它的输出没有被馈送时,A的默认值将被传送进来。 或者说当输出没有fed时,input通过一个占位符op  
    shape: A ‘Tensor’ 的形状。一个 tf.TensorShape 或者 ints 列表。(可选)
    name: 操作的名称(可选)。

  Returns:
    A `Tensor`. 与输入的类型相同
    A placeholder tensor that defaults to `input` if it is not fed.
  """

你可能感兴趣的:(TensorFlow)