【发布时间】:2021-05-19 11:55:57
【问题描述】:
在 TensorFlow Load Images tutorial 中,作者在使用 tf.data 时似乎对数据进行了两次混洗:
list_ds = tf.data.Dataset.list_files(str(data_dir/'*/*'), shuffle=False)
list_ds = list_ds.shuffle(image_count, reshuffle_each_iteration=False) # <-- first shuffling
val_size = int(image_count * 0.2)
train_ds = list_ds.skip(val_size)
val_ds = list_ds.take(val_size)
...
def configure_for_performance(ds):
ds = ds.cache()
ds = ds.shuffle(buffer_size=1000) # <-- second shuffling
ds = ds.batch(batch_size)
ds = ds.prefetch(buffer_size=AUTOTUNE)
return ds
train_ds = configure_for_performance(train_ds)
val_ds = configure_for_performance(val_ds)
我的问题是,第二次改组是否是必要的,还是会产生我不知道的任何其他优势?另外,为什么buffer_size设置固定为1000,而不是使用AUTOTUNE呢?
【问题讨论】:
标签: tensorflow tensorflow-datasets