有没有比计算tensorflow.data.Dataset
所有元素更快的方法
def count_elements(dataset: tf.data.Dataset):
return dataset.reduce(0, lambda x, _ : x + 1).numpy()
"更快"意味着还要考虑内存使用情况,但执行时间至关重要。据我所知,没有内置的方法。
简短回答"否"。
对于内存数据集,有:tf.data.experimental.cardinality(dataset)
,但tf.data.Dataset
本质上是延迟加载的,并且可以是无限的,因此不知道tf.data.Dataset
中有多少元素而不迭代它。
信用:在 TensorFlow 2.0 中,如何查看数据集中的元素数量?