我在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.57gib,下载显然需要相当长的时间
是的,是的;从documentation开始:
因此,如果我想要MNIST数据集训练集的前5%,我可以这样做:
这个MNIST dataset contains 60000 training images,我们有3000个,所以5%
您可以通过阅读Splits and slicing guide来了解有关拆分语法的更多信息
最初的问题是关于如何下载数据集的子集
因此,建议使用像
split='train[:5%]'
这样的参数作为只下载5%训练数据的方式的答案是错误的。看起来它仍然下载整个数据集,但只加载5%您可以通过运行
mnist_ds_5p = tfds.load("mnist", split="train[:5%]")
然后是mnist_ds = tfds.load("mnist", split="train")
运行第二个命令后不会进行下载。这是因为在运行第一个命令之后,整个数据集已经被下载和缓存
由于许多数据集都是从压缩表单中获取的,我怀疑有没有一种简单的方法可以避免下载整个数据集
相关问题 更多 >
编程相关推荐