如何以TFRecords格式理解tensorflow.data.Dataset()中的随机播放方案

时间:2019-11-26 01:20:07

标签: tensorflow

ImageNet数据集为例,它具有约1280000个图像/样本。我们将其保存为TFRecords格式。假设每个.tfrecord有10000个样本,最后将生成128个.tfrecord文件。然后在CNN训练阶段,经过一个时期后,我们需要对数据集进行混洗,一般来说,需要对图像的索引进行混洗,并根据混洗后的索引顺序拍摄图像。

一个.tfrecord中的图像是固定的,即1.tfrecord的图像为0〜9999,2.tfrecord的图像为10000〜19999,依此类推。图像索引被随机排列后,假设我们需要拍摄两个索引分别为500015000的图像,我们需要打开前两个.tfrecord文件,并根据索引获取两个图像。此操作将花费大量内存并花费大量时间。

这合理吗?它实际上对随机操作有何作用?我不确定我是否正确理解tf.data.Dataset()方案。如果方便的话,请您提供一些建议吗?谢谢。

0 个答案:

没有答案