2017-02-10 79 views
2

我使用Tensorflow圖像再訓練教程,設法讓Flower_photos工作,但是當我放入我的照片作爲測試火車時,它得到了錯誤Tensorflow InvalidArgumentError Invalid JPEG data, size 4096Tensorflow InvalidArgumentError無效的JPEG數據,大小4096,不是Jpeg文件0x00 0x05

我想知道是否因爲圖像太大?如果有圖像的最大尺寸設置?或者如果有一個固定的高度/寬度?

因爲我看到在flower_photos例子中,那裏的圖片有所有不同的高度和寬度,所以我假設沒有固定的高度/寬度要求?

因爲我確定圖像是JPEG,我改變了image_retraining文件夾tf.image.decode_image的retrain.py ....但沒有運氣

編輯 現在我看到的是不是一個JPEG文件:以0x00開頭0x05不知道是什麼意思

編輯:我無法找到任何線程/信息或任何東西來幫助,但經過14小時的系統測試,我剛剛從Tensorflow再培訓教程花的照片複製數據集完全正確(從Mac到Window 10和VBox Ubuntu),並且也遇到了同樣的問題。現在我相信它的複製/傳輸過程會導致JPEG損壞。

+0

只是猜測,但錯誤可能是關於JPEG格式,而不是尺寸?堆棧跟蹤(也可能是指向圖像的指針)可能會有所幫助。 –

+0

感謝您的指針,我編輯了image_retraining.py改變了tf.image.decode_jpeg爲tf.image.decode_image ....但它沒有奏效。我會再看看它的格式問題。 – John

+0

現在我看到不是一個JPEG文件:以0x00 0x05開頭不知道它是什麼意思 – John

回答

3

經過18個小時的重複測試並嘗試了很多東西。如果一個數據集通過USB傳輸(在我的情況下,從Mac到Window到Vbox),它會破壞JPEG,即使它看起來不像它的損壞,圖像可以毫無問題地被查看等......但是當解碼器試圖讀取它,它將以0x00 0x05開始。