从tf.data.dataset应用筛选器后获取数据集的大小

2024-05-14 14:45:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道如何在应用过滤器后获得数据集的大小或长度。使用tf.data.experimental.cardinality给出-2,这不是我要找的!!我想知道我的数据集中有多少过滤过的样本,以便能够使用take()和skip()将其拆分为训练和验证数据集

例如:

    dataset = tf.data.Dataset.from_tensor_slices([1, 2, 3, 4, 5])
    dataset = dataset.filter(lambda x: x < 4)
    size = tf.data.experimental.cardinality(dataset).numpy()
    #size here is equal to -2 but I want to get the real size which is 3

我的数据集包含图像及其标签,这只是一个示例


Tags: to数据from过滤器datasizeistf
1条回答
网友
1楼 · 发布于 2024-05-14 14:45:14

查看文档可以发现基数为-2表示Tensorflow无法确定数据集的基数。你可以在here中找到这个。以你为例,你可以

dataset = dataset.as_numpy_iterator()
dataset = list(dataset)
print(len(dataset))

相关问题 更多 >

    热门问题