【问题标题】:How do I get the length(data_size / batch_size) of the tf.data.Dataset?如何获取 tf.data.Dataset 的长度(data_size / batch_size)?
【发布时间】:2019-10-13 16:08:07
【问题描述】:

我想获取我的 tf.data.Dataset 的长度。 (data_size / batch_size)

在 Pytorch 中,我可以通过简单的代码得到这个:

length = len(data_loader)

但是,它在 tensorflow 2.0 中不起作用。

我如何得到这个?

【问题讨论】:

  • 您想要批次中的元素数量还是元素的大小或整个数据集中的元素数量?它们都可以有多个或不可知的值,所以我认为不可能有一个普遍的答案。您可能必须自己存储这些信息。
  • @user1318499 哦,我明白了。谢谢

标签: tensorflow tensorflow2.0


【解决方案1】:

在 TensorFlow 2.0 中,您创建一个 tf.data.Dataset 对象,这是一个 Python 可迭代对象。

在循环遍历所有元素之前,您不会提前知道数据集中有多少元素。

因此,假设您以这种方式创建了一个数据集:

batch_size = 12
dataset = tf.data.Dataset.from_tensor_slices(something).batch(batch_size)

您可以通过这种方式获得批次总数:

number_of_batches = len([_ for _ in iter(dataset)])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-23
    • 2019-10-06
    • 2020-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多