Используя API tf.data с данными TFRecord, возможно ли формировать пакеты, используя указанные файлы для каждого пакета? - PullRequest
0 голосов
/ 27 декабря 2018

У меня есть набор данных изображения размером более 200 гигабайт.Поэтому я конвертировал необработанные изображения в формат TFRecord (более 1024 фрагментов), кодируя изображение, его имя файла и метку класса в записях (через tf.train.Example).Теперь для моего случая, получение файлов случайным образом с помощью итератора не будет работать. Мне нужен мой пакетный дизайн следующим образом: каждый мой пакет состоит, скажем, из 11 изображений.Из этих 11 изображений первое изображение (индексное изображение) может быть загружено случайным образом (скажем, итератором), но другие 10 изображений в пакете (изображения-кандидаты) могут быть выбраны только из набора заранее определенных 200 изображений для этогоиндексное изображение (у меня есть файл сопоставления).Я знаю имена этих 200 файлов, и для формирования партии нужно случайным образом выбрать 10 из них для этой партии.Поэтому для моей партии мне нужен мой итератор, чтобы загрузить и предоставить мне указанные 10 файлов (через указанные имена файлов).

Я просмотрел несколько примеров API tf.data, но не смог найти способ сделать это.Так возможно ли это сделать с помощью TFRecords и tf.data api?Если нет, то какой самый эффективный способ сделать это (без загрузки всего набора данных в память)?

...