1. 程式人生 > 其它 >關於yolov3在訓練自己資料集時容易出現的bug集合,以及解決方法

關於yolov3在訓練自己資料集時容易出現的bug集合,以及解決方法

早先寫了一篇關於yolov3訓練自己資料集的博文Pytorch實現YOLOv3訓練自己的資料集

其中很詳細的介紹瞭如何的訓練自定義的資料集合,同時呢筆者也將一些容易出現的bug寫在了博文中,想著的是可以幫助到大家。很榮幸這一篇部落格收到了,大家的認可。最近一段時間有很多的學長、學姐、學弟、學妹詢問其中出現的問題。可是問的都是我沒有遇到過的,很尷尬

今天我花了一下午的時間,解決了這幾個問題,接下來進行分享。

筆者的開發環境為:

ubuntu18.04
PyTorch 1.1.0
anaconda
opencv-python
tqdm
matplotlib
pycocotools
詳細請參考:Pytorch實現YOLOv3訓練自己的資料集

  • 問題1:AssertionError: Shapefile out of sync, please delete data/test.shapes and rerun

    這個問題的話需要將data檔案下的test.shapes刪了,再重新執行makeTxt.py和voc_labels.py即可。報錯的原因:因為Shapefile的不同步,可能用於訓練其他的任務,沒有即使的改回來導致的。
  • 問題2:在生成將voc生成txt時,開啟txt後是空白

    這是因為voc_label.py下的classes = ["name"] 和你標註的不一致。例如,使用labelImg標註的為face,那麼你在編寫時就應該在voc_label.py下寫classes = ["face"]
  • 問題3:視覺化,記得有一個學姐問我,咋不可以視覺化,我當時忘了,導致她花了很長時間去解決這個bug,很尷尬,心疼學姐,哈哈哈。。。。
    其實很容易解決,只需要在訓練完成後,開啟命令列輸入命令:
python3 -c "from project import utils; utils.plot_results()"

即可在根目錄下看到。

  • 問題4 windows環境下路徑問題
  • 問題描述:有些小夥伴在按照筆者的步驟進行自定義資料集訓練時,出現瞭如下的報錯資訊:
  • 問題的原因:由於筆者是在linux環境下進行的實驗,所以沒有出現這種情況。這個問題出現的原因是由於windows系統部分符號的不敏感,所以導致這種情況。
  • 解決方法:
    開啟dataset.py,把162行換成163行即可

    總結:由於筆者能力有限,在敘述上難免有不準確的地方,還請諒解。最後希望疫情快快結束,祝武漢加油,一線的工作者你們辛苦了!!!!!!