記pytorch版faster rcnn配置運行中的一些坑


記pytorch版faster rcnn配置運行中的一些坑

1. 分支爬取錯誤

git clone -b pytorch-1.0 https://github.com/jwyang/faster-rcnn.pytorch.git

不同分支的項目需求配置不一樣,比如主分支是支持pytorch-0.4.0,上述克隆的分支是支持pytorch-1.0的

2.ImportError: cannot import name '_mask'

訓練時遇到無法導入_mask的問題

https://github.com/jwyang/faster-rcnn.pytorch/issues/410
https://github.com/cocodataset/cocoapi/issues/59#issuecomment-469859646

原因應該是項目中/lib/pycocotools里的文件過於老舊,將https://github.com/cocodataset/cocoapi/tree/master/PythonAPI/pycocotools中的文件復制到/lib/pycocotools文件中,然后進入lib目錄下,執行下列代碼

python setup.py build develop

3.訓練過程發生assert(boxes[:,2]>=boxes[:,0]).all()

這個問題是由於標注框中含有0導致的,網上有很多的解決辦法,比如https://blog.csdn.net/xzzppp/article/details/52036794,但是個人覺得這樣其實改變了代碼原本用意,所以沒有采用。我所采用的解決方法其實很簡單,就是在自己制作數據集,寫XML文件的時候,遇到邊框為0的時候+1,也就是起始從1開始,而不是從0開始。

4.修改檢測類別

修改/lib/datasets/pascal_voc.py文件

將上述代碼修改成你需要的檢測的類別。

例:

self._classes = ('__background__',  # always index 0
                 'apple', 'banana)

5.清空緩存

當重新訓練的時候,往往會遇到圖片讀取錯誤的問題,這個便是因為緩存沒有清空。原因是當訓練數據集的時候,會讀取data/cache目錄下的.pkl緩存文件,所以每次重新訓練的時候,一定要記得刪除data/cache文件夾下的緩存文件。

6.運行demo.py文件模型數量過多

修改demo.py文件

對應4,修改成對應檢測類別


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM