日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Faste R-CNN的安装及测试

發布時間:2023/12/13 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Faste R-CNN的安装及测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、拉取源碼


下載 fast-rcnn

因下載解壓后 caffe-fast-rcnn是空文件夾,故需要單獨下
caffe-fast-rcnn-bcd9b4eadc7d8fbc433aeefd564e82ec63aaf69c.zip

unzip caffe-fast-rcnn-bcd9b4eadc7d8fbc433aeefd564e82ec63aaf69c.zip cp ./caffe-fast-rcnn-bcd9b4eadc7d8fbc433aeefd564e82ec63aaf69c/ /home/cmwang/fast-rcnn-master/caffe-fast-rcnn/

二、copy缺失文件夾


因編譯中出現缺失layer的問題,故需要copy缺失文件夾layers(caffe-fast-rcnn/include/caffe/ 無 layers文件夾)

可直接從caffe-master中copy或者從

cp /home/cmwang/caffe-master/include/caffe/layers/ /home/cmwang/fast-rcnn-master/caffe-fast-rcnn/include/caffe/layers/或者 cp /home/cmwang/py-faster-rcnn/caffe-fast-rcnn/include/caffe/layers/ /home/cmwang/fast-rcnn-master/caffe-fast-rcnn/include/caffe/layers/

三、修改Makefile文件


終端輸入

cd /home/cmwang/fast-rcnn-master/caffe-fast-rcnn/ cp Makefile.config.example Makefile.config #備份Makefile gedit Makefile.config

使用Python層
將# WITH_PYTHON_LAYER := 1修改為 WITH_PYTHON_LAYER := 1

調用matlab
將#MATLAB_DIR := / usr/local/MATLAB/R2015b 中的#去掉。

使用cudnn加速
將# USE_CUDNN := 1修改為USE_CUDNN := 1

保留# CPU_ONLY := 1不變,使用GPU運行faster r-cnn

四、編譯Cython模塊


終端輸入

cd ~/caffe-fast-rcnn/lib/ make

五、編譯caffe和pycaffe & matcaffe


終端輸入

cd ~/caffe-fast-rcnn/caffe-fast-rcnn/ make -j8 && make pycaffe && make matcaffe

六、下載模型


終端輸入

cd ~/caffe-fast-rcnn/./data/scripts/fetch_faste_rcnn_models.sh

七、Demo測試


終端輸入

cd ~/caffe-fast-rcnn/./tools/demo.py

出現的問題1

caffe —找不到lhdf5_hl和lhdf5的錯誤

解決方法:

cd gedit Makefile.config

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

修改為

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial

這是因為ubuntu16.04的文件包含位置發生了變化,尤其是需要用到的hdf5的位置,所以需要更改這一路徑

建立軟連接

cd /usr/lib/x86_64-linux-gnu sudo ln -s libhdf5_serial.so.8 libhdf5.so sudo ln -s libhdf5_serial_hl.so.8.0.2 libhdf5_hl.so

出現的問題2

When use fast R-CNN, got error like this:

I0310 08:26:43.672577 144950 net.cpp:340] Input 0 -> data I0310 08:26:43.672601 144950 net.cpp:340] Input 1 -> rois I0310 08:26:43.672621 144950 layer_factory.hpp:74] Creating layer conv1 I0310 08:26:43.672639 144950 net.cpp:84] Creating Layer conv1 I0310 08:26:43.672650 144950 net.cpp:380] conv1 <- data I0310 08:26:43.672664 144950 net.cpp:338] conv1 -> conv1 I0310 08:26:43.672680 144950 net.cpp:113] Setting up conv1 Floating point exception(core dumped).

解決方案

gedit lib/fast_rcnn/train.py

添加 filter_roidb 范圍,示范如下

def filter_roidb(roidb):"""Remove roidb entries that have no usable RoIs."""def is_valid(entry):# Valid images have:# (1) At least one foreground RoI OR# (2) At least one background RoIoverlaps = entry['max_overlaps']# find boxes with sufficient overlapfg_inds = np.where(overlaps >= cfg.TRAIN.FG_THRESH)[0]# Select background RoIs as those within [BG_THRESH_LO, BG_THRESH_HI)bg_inds = np.where((overlaps < cfg.TRAIN.BG_THRESH_HI) &(overlaps >= cfg.TRAIN.BG_THRESH_LO))[0]# image is only valid if such boxes existvalid = len(fg_inds) > 0 or len(bg_inds) > 0return validnum = len(roidb)filtered_roidb = [entry for entry in roidb if is_valid(entry)]num_after = len(filtered_roidb)print 'Filtered {} roidb entries: {} -> {}'.format(num - num_after,num, num_after)return filtered_roidb

It’s like something about box size. the solution is add filter_roidb function in lib/fast_rcnn/train.py file, like here.
Reference: https://github.com/rbgirshick/py-faster-rcnn/issues/159

其他的相關問題可參考
Faster R-CNN的安裝及測試中常出現問題部分。


參考文獻

caffe —找不到lhdf5_hl和lhdf5的錯誤

fast-rcnn github

fast-rcnn caffe-fast-rcnn

安裝和運行Fast R-CNN的demo

caffe compilation troubleshooting

總結

以上是生活随笔為你收集整理的Faste R-CNN的安装及测试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。