title: tensorflow placeholder - understanding `shape=[None,`
body: <p>I'm trying to understand placeholders in tensorflow. Specifically what <code>shape=[None,</code> means in the example below. </p>
  
  <pre><code>X = tf.placeholder(tf.float32, shape=[None, 128, 128, 3], name="X")
  </code></pre>
  
  <p><a href="https://www.quora.com/What-is-the-difference-between-Variables-and-Placeholders-in-tensor-flow" rel="noreferrer">This</a> answer describes it as:</p>
  
  <blockquote>
    <p>You can think of a placeholder in TensorFlow as an
    operation specifying the shape and type of data that will be fed into
    the graph.placeholder X defines that an unspecified number of rows of shape
    (128, 128, 3) of type float32 will be fed into the graph. a
    Placeholder does not hold state and merely defines the type and shape
    of the data to flow into the graph.</p>
  </blockquote>
  
  <p>When it says "unspecified number of ROWS" does it really mean unspecified number of tensors of shape 128*128*3? Like you are creating a placeholder for input images for input images to a CNN?</p>