低级 Tensorflow,dataset.as_numpy_iterator() returns 指令而不是 numpy 数组
Low-Level Tensorflow, dataset.as_numpy_iterator() returns dicts instead of numpy arrays
当我尝试使用 tf.data.Dataset.batch()
的方法导入和批处理数据集时
并使用 dataset.as_numpy_iterator(),迭代对象是字典,即使我应该得到多个 numpy 数组。
dataset = tfds.load('mnist', split='train')
dataset.batch(batch_size, drop_remainder=False)
for i in dataset.as_numpy_iterator():
print(type(i)) # prints <class 'dict'>
为什么会这样?
使用 as_supervised = 真
import tensorflow_datasets as tfds
dataset = tfds.load('mnist', split='train', as_supervised=True)
dataset.batch(10, drop_remainder=False)
for image, label in tfds.as_numpy(dataset):
print(type(image), type(label), label)
根据 TensorFlow 文档,如果 as_supervised 为 False,您将获得字典值。
检查文档 Here
当我尝试使用 tf.data.Dataset.batch()
的方法导入和批处理数据集时
并使用 dataset.as_numpy_iterator(),迭代对象是字典,即使我应该得到多个 numpy 数组。
dataset = tfds.load('mnist', split='train')
dataset.batch(batch_size, drop_remainder=False)
for i in dataset.as_numpy_iterator():
print(type(i)) # prints <class 'dict'>
为什么会这样?
使用 as_supervised = 真
import tensorflow_datasets as tfds
dataset = tfds.load('mnist', split='train', as_supervised=True)
dataset.batch(10, drop_remainder=False)
for image, label in tfds.as_numpy(dataset):
print(type(image), type(label), label)
根据 TensorFlow 文档,如果 as_supervised 为 False,您将获得字典值。 检查文档 Here