Faste R-CNNのインストールとテスト
10712 ワード
一、ソースコードを引き出す
fast-rcnnのダウンロード
ダウンロード解凍後caffe-fast-rcnnは空のフォルダであるため、caffe-fast-rcnn-bcd 9 b 4 eadc 7 d 8 fbc 433 aeefd 564 e 82 ec 63 af 69 cを単独で降りる必要がある.zip
二、copy欠落フォルダ
コンパイル中にlayerが欠落している問題が発生したため、copy欠落フォルダlayers(caffe-fast-rcnn/include/caffe/layersフォルダなし)が必要です.
直接caffe-masterからcopyまたは
三、Makefileファイルの修正
たんまつにゅうりょく
Pythonレイヤを使用して#WITH_PYTHON_LAYER:=1をWITH_に変更PYTHON_LAYER := 1
matlabを呼び出しMATLAB_DIR:=/usr/local/MATLAB/R 2015 bの#を削除します.
cudnn加速を使用して#USE_CUDNN:=1をUSEに変更CUDNN := 1
保持#CPU_ONLY:=1は変わらずGPUでfaster-cnnを実行
四、Cythonモジュールのコンパイル
たんまつにゅうりょく
五、caffeとpycaffe&matcaffeをコンパイルする
たんまつにゅうりょく
六、モデルのダウンロード
たんまつにゅうりょく
七、Demoテスト
たんまつにゅうりょく
問題1
caffe-lhdf 5が見つかりませんでした.hlとlhdf 5のエラー
解決方法:
将
次のように変更
なぜならubuntu 16.04のファイルには、場所が変更されています.特にhdf 5の場所が必要なので、このパスを変更する必要があります.
ソフト接続の確立
問題2
When use fast R-CNN, got error like this:
ソリューション
filter_を追加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-lhdf 5が見つかりませんでした.hlとlhdf 5のエラー
fast-rcnn github
fast-rcnn caffe-fast-rcnn
Fast R-CNNのデモのインストールと実行
caffe compilation troubleshooting
fast-rcnnのダウンロード
ダウンロード解凍後caffe-fast-rcnnは空のフォルダであるため、caffe-fast-rcnn-bcd 9 b 4 eadc 7 d 8 fbc 433 aeefd 564 e 82 ec 63 af 69 cを単独で降りる必要がある.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/R 2015 bの#を削除します.
cudnn加速を使用して#USE_CUDNN:=1をUSEに変更CUDNN := 1
保持#CPU_ONLY:=1は変わらずGPUでfaster-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-lhdf 5が見つかりませんでした.hlとlhdf 5のエラー
解決方法:
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
なぜならubuntu 16.04のファイルには、場所が変更されています.特にhdf 5の場所が必要なので、このパスを変更する必要があります.
ソフト接続の確立
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 RoI
overlaps = entry['max_overlaps']
# find boxes with sufficient overlap
fg_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 exist
valid = len(fg_inds) > 0 or len(bg_inds) > 0
return valid
num = 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-lhdf 5が見つかりませんでした.hlとlhdf 5のエラー
fast-rcnn github
fast-rcnn caffe-fast-rcnn
Fast R-CNNのデモのインストールと実行
caffe compilation troubleshooting