我在 Google Colab 中有一个笔记本,其中包含以下代码:
batch_size = 64
dataset_name = 'coco/2017_panoptic'
tfds_dataset, tfds_info = tfds.load(
dataset_name,
split='train',
with_info=True)
我想知道是否可以使用 tfds_load
函数只下载部分数据集(比如:5%,或 X 数量的图像)。据我在文档中看到的那样,没有理由这样做。当然,下载后 可以对数据集进行切片,但是这个特定的数据集 (coco/2017_panoptic
) 是 19.57 GiB,这显然需要很长时间才能下载。
最佳答案
最初的问题是关于如何下载数据集的一个子集。
因此,建议使用像 split='train[:5%]'
这样的参数作为仅下载 5% 训练数据的方法的答案是错误的。看起来这仍然会下载整个数据集,但随后只加载了 5%。
您可以通过运行自己检查
mnist_ds_5p = tfds.load("mnist", split="train[:5%]")
接着是 mnist_ds = tfds.load("mnist", split="train")
运行第二个命令后没有下载发生。这是因为在运行第一个命令后,整个数据集已经被下载并缓存!
由于许多数据集都是从压缩形式中获取的,我怀疑是否有一种简单的方法可以避免下载整个数据集。
关于python - 是否可以只加载 TensorFlow 数据集的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65231843/