python查看数据集的维度、大小_tf.data.Dataset:如何获取数据集大小(一个元素的元素数量)?...

6 个答案:

答案 0 :(得分:4)

tf.data.Dataset.list_files创建一个名为MatchingFiles:0的张量(如果适用,使用适当的前缀)。

你可以评估

tf.shape(tf.get_default_graph().get_tensor_by_name('MatchingFiles:0'))[0]

获取文件数。

当然,这仅适用于简单的情况,特别是如果每​​张图像只有一个样本(或已知数量的样本)。

在更复杂的情况下,例如当您不知道每个文件中的样本数量时,您只能观察到一个时期结束时的样本数量。

为此,您可以观看Dataset计算的时期数。 repeat()创建一个名为_count的成员,用于计算时期数。通过在迭代期间观察它,您可以发现它何时发生变化并从那里计算数据集大小。

这个计数器可能埋没在连续调用成员函数时创建的Dataset层次结构中,所以我们必须像这样挖掘它。

d = my_dataset

# RepeatDataset seems not to be exposed -- this is a possible workaround

RepeatDataset = type(tf.data.Dataset().repeat())

try:

while not isinstance(d, RepeatDataset):

d = d._input_dataset

except AttributeError:

warnings.warn('no epoch counter found')

epoch_counter = None

e

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值