You can convert it to a list with list(ds)
and then recompile it as a normal Dataset with tf.data.Dataset.from_tensor_slices(list(ds))
. From there your nightmare begins again but at least it’s a nightmare that other people have had before.
Note that for more complex datasets (e.g. nested dictionaries) you will need more preprocessing after calling list(ds)
, but this should work for the example you asked about.
This is far from a satisfying answer but unfortunately the class is entirely undocumented and none of the standard Dataset tricks work.