我已經創建了一個數據集並將其保存到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解碼圖像,但事情是我無法從文件中獲取行和cols的值,因爲它們是張量。那麼,我該如何動態讀取尺寸並相應地重新塑造圖像。謝謝你們
它引發錯誤「所有形狀必須完全定義:1」。從日誌看來,它似乎與函數「tf.train.shuffle_batch()」有關。那我該怎麼做? –
批處理需要在圖形構建過程中知道形狀(以便知道需要爲隊列分配多少內存),也許在tf.batch之前使用tf.image.resize_images?如果您使用任何標準的細分網頁,則無論如何需要將圖像尺寸調整爲相同的尺寸 –
+ Tong Shen,因爲您正在構建批量圖像,所以圖像必須具有相同的尺寸。如果你事先知道這個大小,也許你可以調用像'image.set_shape([32,32,3])'來完全定義形狀。 – bgshi