【问题标题】:Should a TFRecord contain multiple observations or one?TFRecord 应该包含多个观察值还是一个?
【发布时间】:2020-07-27 22:45:12
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: tensorflow dataset tfrecord


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢@prouast,这让我想起了 HDFS 如何将数据存储为多个部分。
    猜你喜欢
    • 1970-01-01
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-02
    • 1970-01-01
    • 2010-10-19
    相关资源
    最近更新 更多