当我使用:
training_ds = tf.data.Dataset.from_generator(SomeTrainingDirectoryIterator, (tf.float32, tf.float32))
Run Code Online (Sandbox Code Playgroud)
我希望它返回一个 Tensorflow 数据集,但 training_ds 是一个 DatasetV1Adapter 对象。它们本质上是一样的吗?如果不能,我可以将 DatasetV1Adapter 转换为 Tf.Data.Dataset 对象吗?
另外,查看循环和查看我的数据集的最佳方法是什么?如果我打电话:
def show_batch(dataset):
for batch, head in dataset.take(1):
for labels, value in batch.items():
print("{:20s}: {}".format(labels, value.numpy()))
Run Code Online (Sandbox Code Playgroud)
使用 training_ds 作为我的数据集,我抛出了这个错误:
AttributeError: 'tensorflow.python.framework.ops.EagerTensor' 对象没有属性 'items'
更新:我将我的 TensorFlow 版本从 1.14 升级到 2.0。现在数据集是一个 FlatMapDataset。但这仍然不是我预期的返回对象,为什么我没有返回常规的 tf.data.Dataset?