message: Resetting the MultiDeviceIterator in eager mode instead of creating a new one at the end of each epoch. This saves the memory used in creating new functions each time we create a new MultiDeviceIterator.
diff: @@ -306,7 +306,7 @@ class _SingleWorkerDatasetIterator(object):
  A list of any initializer ops that should be run.
  """
  if context.executing_eagerly():
  - self._make_iterator()
  + self._iterator._eager_reset() # pylint: disable=protected-access
  return []
  else:
  return [self._iterator.initializer]
  