py-faster-rcnn+cpu配置並訓練自己的數據

    py-faster-rcnn的配置具體參考github主頁https://github.com/rbgirshick/py-faster-rcnn,並且下載時一定要使用--recursive遞歸下載。cpu模式下需要修改幾個配置文件,具體可參考博客http://www.cnblogs.com/justinzhang/p/5386837.html

配置起來並不麻煩,但是運行./tools/demo.py --cpu --net zf 時出現以下兩個錯誤

Error parsing text-formate caffe.NetParameter:47:11 Message type “caffe.LRNParameter" has no field named "engine"  .

Error parsing text-formate caffe.NetParameter:232:14 Message type “caffe.PythonParameter" has no field named "param_str"  .



百度了一下並沒有找到這個問題的解決辦法,問了一下網友,要麼就是caffe的版本不對,要麼就是python接口沒有配置好。之前我將py-faster-rcnn和caffe-fast-rcnn分開來在windows上下載的,於是乎我重新clone --recursive了整個py-faster-rcnn,運行demo.py時還是出現同樣的錯誤,那隻能是python接口沒配置成功,可是我使用import caffe時並沒有報錯,找了網上的各個caffe配置python的博客,我發現自己漏了一步。

make pycaffe 後添加環境變量

sudo gedit /etc/profile或者sudo vim /etc/profile ,注意gedit和vim 後面有空格

加入export PYTHONPATH=~/py-faster-rcnn/caffe-fast-rcnn/python:$PYTHONPATH

還有重要一步,要使文件生效

source /etc/profile

這時再運行demo.py --cpu --net zf 就成功了

---------------------------------------------------------訓練自己的數據----------------------------------------------------------------------------

    首先要準備數據集,我準備的是VOC2007格式的數據,網上有很多博客有介紹。我先用matlab版的faste-rcnn訓練,在日誌文件中出現smooth_l1_loss_layer.cpp:49 Not Implemented Yet 之後就再沒動靜了,搜了一下才發現這是報錯了,faster-rcnn默認只能用GPU來訓練,運行demo.py可以使用CPU。在運行python版本時直接提示只能用GPU訓練,訓練還是使用python版本的好。

在CPU下訓練數據集,需要對py-faster-rcnn內的roi_pooling_layer和smooth_L1_loss_layer改爲CPU版本,github上已經有人改了原代碼使之能運行在CPU上。

並重新編譯。可直接從github上下載替換。https://github.com/neuleaf/faster-rcnn-cpu

CPU訓練時還有修改一些配置文件,可以參考http://blog.csdn.net/wjx2012yt/article/details/52197698

折騰了幾天,終於可以在CPU上訓練自己的數據了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章