Я создал набор данных и сохранил его в файле TFRecord. Дело в том, что изображения имеют разный размер, поэтому я хочу также сохранить размер с изображениями. Таким образом, я использовал TFRecordWriter и определены функции, такие как:Как читать изображения с разным размером в файле TFRecord
example = tf.train.Example(features=tf.train.Features(feature={
'rows': _int64_feature(image.shape[0]),
'cols': _int64_feature(image.shape[1]),
'image_raw': _bytes_feature(image_raw)}))
Я ожидал, что я могу читать и декодировать изображение с помощью TFRecordReader, но дело в том, что я не могу получить значение строк и перевалы из файла, потому что они тензоры. Итак, как я должен делать, чтобы динамически читать размер и соответствующим образом изменять изображение. Спасибо ребятам
он поднял ошибку «Все формы должны быть полностью определены: 1». из журнала, похоже, что он имеет какое-то отношение к функции «tf.train.shuffle_batch()». Что я должен делать тогда? –
пакет должен знать фигуры во время построения графика (чтобы он знал, сколько памяти выделяется для очереди), возможно, используйте tf.image.resize_images перед tf.batch? Если вы используете какой-либо из стандартных коннектов, вам все равно придется изменять размер изображений до одинакового размера –
+ Tong Shen, так как вы создаете пакет, изображения должны иметь одинаковый размер. Если вы знаете этот размер заранее, возможно, вы можете вызвать что-то вроде 'image.set_shape ([32,32,3])', чтобы полностью определить форму. – bgshi