【发布时间】:2019-11-18 21:12:19
【问题描述】:
我已生成数据并将其保存到多个 tfrecord 文件中,然后将这些文件加载到 TFRecordDataset 中。 如何按文件打乱这个数据集?也就是说,我想保持样本的顺序在文件中,但只在创建时随机化加载文件的顺序批处理数据集。考虑以下示例:
数据
file_1
file_1_s1
file_1_s2
file_1_s3
file_2
file_2_s1
file_2_s2
file_2_s3
file_3
file_3_s1
file_3_s2
file_3_s3
法定样品订购
file_1_s2, file_1_s2, file_1_s3, file_3_s1, file_3_s2, file_3_s3, file_2_s1, file_2_s2, file_2_s3
file_3_s1, file_3_s2, file_3_s3, file_2_s1, file_2_s2, file_2_s3, file_1_s2, file_1_s2, file_1_s3
非法样品订购
file_1_s2, file_1_s3, file_3_s3, file_2_s1, file_2_s2, file_1_s2, file_3_s2, file_3_s1, file_2_s3
file_3_s1, file_2_s1, file_3_s3, file_2_s2, file_2_s3, file_1_s2, file_1_s2, file_1_s3, file_3_s2
在非法示例中,一个文件的样本不再一起或按顺序出现。
【问题讨论】:
-
为什么不在将 tfrecord 文件名的 python 列表发送到 tf.data.Dataset 之前随机排序?
-
因为我想洗牌每个时代。所以我每次都需要重新创建数据集。 @gobrewers14
标签: tensorflow tensorflow-datasets tfrecord