TFRecord应该包含多个观察值还是一个观察值?

时间:2020-04-15 03:07:54

标签: tensorflow dataset tfrecord

我在explanation中看到TFRecord包含多个类和多个图像(一只猫和一只桥)。写入时,两个图像都写入一个TFRecord中。在回读期间,验证此TFRecord包含两个图像。

在其他地方,我见过人们每个图像生成一个TFRecord,我知道您可以像这样加载多个TFRecord文件:

train_dataset = tf.data.TFRecordDataset("<Path>/*.tfrecord")

但是推荐哪种方式?我应该为每个图像建立一个tfrecord,还是为多个图像建立一个tfrecord?如果将多个图像放入一个tfrecord,那么最大数量是多少?

1 个答案:

答案 0 :(得分:2)

正如您所说,可以在单个TFRecord文件中保存任意数量的条目,并且可以根据需要创建任意数量的TFRecord文件。

我建议使用实际考虑因素来决定如何进行:

  • 一方面,尝试使用较少的TFRecord文件,以便更轻松地处理文件系统中的移动文件
  • 另一方面,避免将TFRecord文件增长到可能成为文件系统问题的大小
  • 请记住,保留单独的TFRecord文件以进行训练/验证/测试拆分非常有用
  • 有时,数据集的性质使其很明显如何拆分为单独的文件(例如,我有一个视频数据集,在每个参与者会话中我使用一个TFRecord文件)
相关问题