近日,在使用CascadeRCNN完成目標檢測任務時,我在使用這個模型訓練本身的數據集時出現了以下錯誤:node
tensorflow.python.framework.errors_impl.OutOfRangeError: PaddingFIFOQueue '_1_get_batch/batch/padding_fifo_queue' is closed and has insufficient elements (requested 1, current size 0)
[[node get_batch/batch (defined at ../data/io/read_tfrecord.py:98) ]]
具體以下截圖所示:python
我使用的教程是這個連接:cascade r-cnn訓練和測試(tensorflow框架)框架
在出現這個錯誤的時候,覺得是數據集的錯誤,在通過屢次檢查數據,而且刪掉運行報錯的圖片等嘗試屢次無果後,最終選擇從新制做數據才解決掉這個錯誤。注意,訓練所使用的數據集在FasterRCNN模型是可以訓練起來的。測試
過後回想,可能有兩個地方致使出現這個錯誤。編碼
一、做者的教程裏面有段標紅的文字當時我選擇忽略了。spa
我當時我根本沒有作過這步,我覺得VOC格式裏面數據集已經劃分好測試集和訓練集了,因此就沒有管這個步驟了,後來證實代碼做者根本沒有管VOC裏面的txt文件。因此我以爲這個錯誤可能也是引起這個錯誤的緣由。.net
二、在通過從新制做數據集沒有出現這個錯誤後,後面又出現了這個錯誤,此次又仔細檢查了數據集,發如今製做VOC2007數據集的時候,圖片名字居然有中文(巨坑),致使製做出來的txt亂碼了,而後我在從新制做數據集的過程當中,指定了encoding=’utf-8’編碼,而後再把數據丟進模型去訓練,最終解決了這個錯誤。code
如今也不能確定出現這個錯誤究竟是什麼緣由,不過我上面的兩個解決方案是可以解決這個問題的,而我在網上查找到的資料大部分也是數據集的緣由。後期若是再出現這個錯誤可是有了不一樣的解決方法的時候,我會更新這篇博客的。blog