覚え書きブログ

Faster R-CNN on Ubuntu16.04

Faster R-CNNを、Ubuntu16.04+CUDA8.0+CUDNN5.1にインストールした。
手順は以下の通り。

1)py-faster-rcnnのレポジトリをclone

> git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git

2)最新のcaffeをmerge
以下のコメントを参考にした。
https://github.com/rbgirshick/py-faster-rcnn/issues/237

> cd py-faster-rcnn/caffe-fast-rcnn  
> git remote add caffe https://github.com/BVLC/caffe.git  
> git fetch caffe  
> git merge -X theirs caffe/master  

python_layer.hppの以下の行をコメントアウト

> vi include/caffe/layers/python_layer.hpp
//self_.attr("phase") = static_cast(this->phase_);

3)以下に忠実に従う。
https://github.com/BVLC/caffe/wiki/Ubuntu-16.04-or-15.10-Installation-Guide

しかしながら、「make test」実行時に、以下のエラーがでる。

src/caffe/test/test_smooth_L1_loss_layer.cpp:11:35: fatal error: caffe/vision_layers.hpp: No such file or directory

しかし、これは単にテスト時の問題だけなので、以下に従って、フォルダ「src/caffe/test/」にあるtest_smooth_L1_loss_layer.cppを、test_smooth_L1_loss_layer.cpp.origに書き換えて、make testおよびmake runtestを実行すればよい。
github.com

4)cv2モジュールのインストール

> pip install opencv-python

5)easydictモジュールのインストール

> pip install easydict

6)libのmake

> cd lib
> make

7)python-tkのインストール

sudo apt-get install python-tk


これで、tools/demo.pyは動くものの独自のコードを実行すると以下のようなエラーがでた。。。

Solving...
F0106 18:44:41.869225  2554 syncedmem.hpp:39] Check failed: error == cudaSuccess (77 vs. 0)  an illegal memory access was encountered

いろいろ調べたが解決方法がわからず。少し古いcaffe(2017年5月ごろ)が、たまたま手元にあったので、試したら上記のエラーは出なかった。