Я прочитал Учебник CNN по TensorFlow, и я пытаюсь использовать ту же модель для своего проекта. Теперь проблема заключается в чтении данных. У меня есть около 25000 изображений для обучения и около 5000 для тестирования и проверки каждого. Файлы находятся в формате png, и я могу их прочитать и преобразовать в numpy.ndarray.
В примере CNN в учебниках используется очередь для извлечения записей из предоставленного списка файлов. Я попытался создать свой собственный такой двоичный файл, изменив изображения в 1-D массив и добавив значение метки перед ним. Итак, мои данные выглядят как
[[1,12,34,24,53,...,105,234,102],
[12,112,43,24,52,...,115,244,98],
....
]
Единственная строка указанного массива имеет размер 22501, где первым элементом является метка.
Я сбросил файл на использование pickle и попытался прочитать из файла, используя tf.FixedLengthRecordReader для чтения из файла как продемонстрированного в примере
Я делаю то же самое, что указано в cifar10_input.py, чтобы прочитать двоичный файл и поместить его в объект записи.
Теперь, когда я читаю файлы, метки и значения изображения различаются. Я могу понять причину этого, что pickle сбрасывает дополнительную информацию о фигурных скобках и скобках также в двоичном файле, и они меняют размер записи фиксированной длины.
В приведенном выше примере используются имена файлов и передаются в очередь для извлечения файлов, а затем очереди для чтения одной записи из файла.
Я хочу знать, могу ли я передать массив numpy, как определено выше, вместо имени файла для некоторого читателя, и он может извлекать записи один за другим из этого массива вместо файлов.