title: TensorFlow 2 Panda Tutorial Preprocessing Confusion
body: <p>I'm following one of the TensorFlow's <a href="https://www.tensorflow.org/tutorials/load_data/csv" rel="nofollow noreferrer">tutorial</a> and I don't understand the purpose of the following code:</p>
  <pre><code>numeric_inputs = {name:input for name,input in inputs.items()
                    if input.dtype==tf.float32}
  
  x = layers.Concatenate()(list(numeric_inputs.values()))
  norm = layers.Normalization()
  norm.adapt(np.array(titanic[numeric_inputs.keys()]))
  all_numeric_inputs = norm(x)
  
  all_numeric_inputs
  </code></pre>
  <p>This is my current attempt:</p>
  <ol>
  <li><code>numeric_inputs</code> is a map of filtered results</li>
  <li>I don't understand why use <code>layers.Concatenate()</code> here. I have read the docs.</li>
  <li>I understand that <code>norm.adapt()</code> need to be called before using <code>norm</code> as a (starting) layer of the <code>Sequential</code> model (from the <a href="https://www.tensorflow.org/tutorials/load_data/csv#basic_preprocessing" rel="nofollow noreferrer">section above</a>). But why call it with <code>x</code> here, i.e. <code>norm(x)</code>?</li>
  </ol>
  <p>Btw, any advice regarding learning with official tutorials? I found that some of them are still too vague for me.</p>