title: difference between tf.data.Dataset batch and map and tf.contrib.data.map_and_batch
body: <p>I created a tf.data.Dataset and want to train a model using this dataset:</p>
  
  <pre><code>dataset = dataset.prefeth()
  dataset = dataset.shuffle()
  dataset = dataset.repeat()
  dataset = dataset.map()
  dataset = dataset.filter()
  dataset = dataset.batch()
  </code></pre>
  
  <p>I want to know what is the difference between the above dataset with the bellow one:</p>
  
  <pre><code>dataset = dataset.prefeth()
  dataset = dataset.shuffle()
  dataset = dataset.repeat()
  dataset = dataset.apply(tf.contrib.data.map_and_batch())
  </code></pre>
  
  <p>I know that they should not be different except in performance. But I don't know should I use the .apply() method or not?</p>
  
  <p>Is the first implementation correct?</p>