faster r-cnn 在CPU配置下訓練自己的數據


因為沒有GPU,所以在CPU下訓練自己的數據,中間遇到了各種各樣的坑,還好沒有放棄,特以此文記錄此過程。

1、在CPU下配置faster r-cnn,參考博客:http://blog.csdn.net/wjx2012yt/article/details/52197698#quote

2、在CPU下訓練數據集,需要對py-faster-rcnn內的roi_pooling_layer和smooth_L1_loss_layer改為CPU版本,

並重新編譯。這位博主對其進行了修改,可直接進行替換:http://blog.csdn.net/qq_14975217/article/details/51495844

3、制作自己的VOC數據集,這部分參考博客:http://blog.csdn.net/gvfdbdf/article/details/52214008

4、為防止與之前的模型搞混,訓練前把output文件夾刪除(或改個其他名),還要把py-faster-rcnn/data/cache中的文件和

py-faster-rcnn/data/VOCdevkit2007/annotations_cache中的文件刪除(如果有的話)。

5、訓練前的修改。我的數據集是檢測監控視頻中的人,因此只有背景和人兩類。按着這篇博客進行修改就行了:

     http://blog.csdn.net/sinat_30071459/article/details/51332084

     還要修改py-faster-rcnn/models/pascal_voc/ZF/faster_rcnn_alt_opt中的solve文件設置,包括stepsize,base_lr,

否則訓練時很容易出現loss=-nan的情況

6、在py-faster-rcnn中訓練

./experiments/scripts/faster_rcnn_alt_opt.sh 0 ZF pascal_voc  

 

7、測試

     將訓練得到的py-faster-rcnn\output\faster_rcnn_alt_opt\***_trainval中ZF的caffemodel拷貝至

py-faster-rcnn\data\faster_rcnn_models,修改py-faster-rcnn\tools\demo.py(主要是類別的修改

和測試圖片的修改)。運行

python demo.py --cpu

 

 8、結果

      可能是我數據量太少且質量不好(1000張),訓練次數不夠(1000×4),檢測效果不太好,在默認閾值下檢測不出來。

當把demo.py中的CONF_THRESH降低到0.1時才檢測出來一張,且速度很慢,大概13秒一張,效果一般。  

     我將訓練次數增加到了(10000,5000,10000,5000),跑了一天,結果沒有任何改善。

    

 


免責聲明!

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



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