(dataset)
return tf.nest.pack_sequence_as(nested_ds, flat_np)
Converts a `tf.data.Dataset` to an iterable of ndarrays.

  `dataset_as_numpy` converts a possibly nested structure of `tf.data.Dataset`s
  and `tf.Tensor`s to iterables of ndarrays and ndarrays, respectively. This
  function must be run in eager mode outside tf.function.

  Args:
    dataset: a possibly nested structure of `tf.data.Dataset`s and/or
      `tf.Tensor`s.

  Returns:
    A structure matching `dataset` where `tf.data.Dataset`s are converted to
    generators of ndarrays and `tf.Tensor`s are converted to ndarrays.
Converts a `tf.data.Dataset` to an iterable of ndarrays.
Converts a tf . data . Dataset to an iterable of ndarrays .
def dataset_as_numpy(dataset):
  """Converts a `tf.data.Dataset` to an iterable of ndarrays.

  `dataset_as_numpy` converts a possibly nested structure of `tf.data.Dataset`s
  and `tf.Tensor`s to iterables of ndarrays and ndarrays, respectively. This
  function must be run in eager mode outside tf.function.

  Args:
    dataset: a possibly nested structure of `tf.data.Dataset`s and/or
      `tf.Tensor`s.

  Returns:
    A structure matching `dataset` where `tf.data.Dataset`s are converted to
    generators of ndarrays and `tf.Tensor`s are converted to ndarrays.
  """
  if not tf.executing_eagerly():
    raise ValueError(
        "dataset_as_numpy must be run in eager mode outside tf.function")
  nested_ds = dataset
  del dataset

  # Flatten
  flat_ds = tf.nest.flatten(nested_ds)
  flat_np = []

  # Type check for Tensors and Datasets
  for ds_el in flat_ds:
    if not isinstance(ds_el, (tf.Tensor, tf.data.Dataset)):
      types = tf.nest.map_structure(type, nested_ds)
      raise ValueError("Arguments to dataset_as_numpy must be (possibly nested "
                       "structure of) tf.Tensors or tf.data.Datasets. Got: %s" %
                       types)

  for ds_el in flat_ds:
    if isinstance(ds_el, tf.Tensor):
      np_el = tf_np.asarray(ds_el)
    elif isinstance(ds_el, tf.data.Dataset):
      np_el = _eager_dataset_iterator(ds_el)
    else:
      assert False
    flat_np.append(np_el)

  return tf.nest.pack_sequence_as(nested_ds, flat_np)
def dataset_as_numpy ( dataset ) : if not tf . executing_eagerly ( ) : raise ValueError ( "dataset_as_numpy must be run in eager mode outside tf.function" ) nested_ds = dataset del dataset # Flatten flat_ds = tf . nest . flatten ( nested_ds ) flat_np = [ ] # Type check for Tensors and Datasets for ds_el in flat_ds : if not isinstance ( ds_el , ( tf . Tensor , tf . data . Dataset ) ) : types = tf . nest . map_structure ( type , nested_ds ) raise ValueError ( "Arguments to dataset_as_numpy must be (possibly nested " "structure of) tf.Tensors or tf.data.Datasets. Got: %s" % types ) for ds_el in flat_ds : if isinstance ( ds_el , tf . Tensor ) : np_el = tf_np . asarray ( ds_el ) elif isinstance ( ds_el , tf . data . Dataset ) : np_el = _eager_dataset_iterator ( ds_el ) else : assert False flat_np . append ( np_el ) return tf . nest . pack_sequence_as ( nested_ds , flat_np )