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

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

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

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

0
Rick Blaine 15 Апр 2020 в 06:07

1 ответ

Лучший ответ

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

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

  • С одной стороны, попробуйте использовать меньше файлов TFRecord, чтобы упростить перемещение файлов в файловой системе.
  • С другой стороны, избегайте увеличения файлов TFRecord до размера, который может стать проблемой для файловой системы.
  • Помните, что для разделения обучения / проверки / тестирования полезно хранить отдельные файлы TFRecord.
  • Иногда характер набора данных делает очевидным, как разделить его на отдельные файлы (например, у меня есть набор видеоданных, в котором я использую один файл TFRecord для каждого сеанса участника)
2
prouast 15 Апр 2020 в 05:06