title: tf.data.Dataset iterator returning Tensor("IteratorGetNext:1", shape=(None, 16), dtype=int32) but cannot get the values of the Tensors
body: <p>I am trying to write a Custom Model in which I am writing a custom <code>train_step</code> function</p>
  <p>I am creating a 'tf.data.Dataset` from a Custom Datagenerator like</p>
  <pre><code>tds = tf.data.Dataset.from_generator(tdg.__iter__,args=None,output_types = (tf.float32,tf.int32),output_shapes = (tf.TensorShape([16,64,64,3]),tf.TensorShape([16])))
  tds = tds.batch(1)
  </code></pre>
  <p>In the custom DataGenerator the <code>__iter__</code> method is defined as</p>
  <pre><code>def __iter__(self):
      for item in (self[i] for i in range(len(self))):
          yield item
  </code></pre>
  <p>However, when I am trying to retrive the data inside the <code>train_step</code> function,
  with <code>x,y = data</code> I am getting</p>
  <p><code>Tensor(&quot;IteratorGetNext:0&quot;, shape=(None, 16, 64, 64, 3), dtype=float32)</code></p>
  <p>and</p>
  <p><code>Tensor(&quot;IteratorGetNext:1&quot;, shape=(None, 16), dtype=int32)</code> as output</p>
  <p>If I run <code>print(x[0])</code> then I am getting</p>
  <p><code>Tensor(&quot;strided_slice:0&quot;, shape=(16,), dtype=int32)</code></p>
  <p>I am not getting the Tensors with <code>numpy()</code> attribute</p>
  <p>Where is this going wrong??</p>