随机访问 TF (2.0) 数据集中的元素

问题描述 投票:0回答:2

假设我有 TensorFlow 数据集,并且使用 TF 2.0。 我可以使用

for
循环迭代每个元素:

import tensorflow_datasets as tfds
ds = tfds.load('coco', data_dir='D:\\DataSet\\COCO')
test_data = ds["test"]
for rec in test_data:
     print(rec['image'])  

是否可以直接访问第N个元素?
类似于

rec = test_data[N]

tensorflow2.0 tensorflow-datasets
2个回答
3
投票

目前还不可能。如果您可以控制数据集的加载方式,我想出的最接近的方法是创建一个支持随机访问的生成器,并使用

tf.data.Dataset.from_generator()
从该生成器创建数据集。


0
投票

现在(4.9.0或更高版本)可以使用新的 data_source API,请参阅https://www.tensorflow.org/datasets/tfless_tfds

ds = tfds.data_source('fashion_mnist')
ds['train'][0]
© www.soinside.com 2019 - 2024. All rights reserved.