Должна ли TFRecord содержать несколько наблюдений или одно? - PullRequest
0 голосов
/ 15 апреля 2020

Я вижу в объяснении TFRecord содержит несколько классов и несколько изображений (кошка и мост). Когда это было написано, оба изображения записаны в один TFRecord. Во время считывания подтверждается, что этот TFRecord содержит два изображения.

В других местах я видел людей, генерирующих одну TFRecord для каждого изображения, я знаю, что вы можете загрузить несколько файлов TFRecord, например:

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

Но какой способ рекомендуется? я должен создать одну запись tfrecord для каждого изображения или одну запись tfrecord для нескольких изображений? Если поместить несколько изображений в одну запись, то сколько это максимум?

1 Ответ

2 голосов
/ 15 апреля 2020

Как вы сказали, можно сохранить произвольное количество записей в одном файле TFRecord, и можно создать столько файлов TFRecord, сколько необходимо.

Я бы рекомендовал использовать практические соображения. чтобы решить, как поступить:

  • С одной стороны, попробуйте использовать меньше файлов TFRecord для упрощения обработки перемещающихся файлов в файловой системе
  • С другой стороны, избегайте роста TFRecord файлы такого размера, который может стать проблемой для файловой системы
  • Имейте в виду, что полезно хранить отдельные TFRecord файлы для обучения / проверки / разделения теста
  • Иногда характер Набор данных делает очевидным, как разделить на отдельные файлы (например, у меня есть набор видео данных, где я использую один файл TFRecord на сеанс участника)
...