【发布时间】:2018-08-14 22:32:42
【问题描述】:
假设我有一个定义如下的 TensorFlow 数据集:
dataset = tf.data.Dataset.from_tensor_slices((inputs, labels))
dataset = dataset.shuffle(1000)
dataset = dataset.repeat()
dataset = dataset.batch(50)
每次从数据集中抽取 50 个新批次时,它会从接下来的 1000 个示例中随机抽取 50 个示例。但除此之外,我还想做的是在每个 epoch 开始时完全打乱我的整个数据集。
一种方法是将shuffle_buffer 的大小设置为等于整个数据集的大小。但是,这会导致每次绘制批次时整个数据集都被完全打乱,这会非常慢。相反,我只希望整个数据集在每个 epoch 开始时完全洗牌一次。
我该怎么做?
【问题讨论】:
标签: tensorflow