【发布时间】:2023-04-05 02:49:01
【问题描述】:
这究竟会做什么?
dataset = tf.data.Dataset.from_tensor_slices([0, 0, 0, 1, 1, 1, 2, 2, 2])
dataset.shuffle(buffer_size=5).repeat().batch(3)
我注意到了几个相关的问题,但没有一个能完全回答我的担忧。我对shuffle(buffer_size) 在做什么感到困惑。我知道它将需要 5 个第一个示例 [0, 0, 0, 1, 1] 进入内存,但是接下来它会用这个缓冲区做什么呢?以及这个缓冲区如何与repeat() 和batch() 交互?
【问题讨论】:
-
您可能会感到困惑,因为在 tf2.0 的 alpha 和 beta 版本中,shuffle 和 repeat 的组合没有按照文档和以前的 tensorflow 版本的预期执行。有关详细信息,请参阅此 github 问题(以及我发现对理解 shuffle、repeat 和批处理操作非常有帮助的一些示例):github.com/tensorflow/tensorflow/issues/27680
标签: tensorflow dataset