覚え書きブログ

Deep Learning覚え書き(Ubuntu14.04へのCaffeのインストール編)

前回CUDA7が無事インストール出来たので、今回はCaffe本体をインストールする。hirotaka-hachiya.hatenablog.com

まずは、BLASをインストールする。

> sudo apt-get install libatlas-base-dev

次に、Caffeに関連するパッケージをインストールする。

> sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

次に、gitでCaffeをダウンロードする。

> sudo apt-get install git
> git clone https://github.com/BVLC/caffe.git
Cloning into 'caffe'...
remote: Counting objects: 22617, done.

次に、ディレクトリcaffeに移動してmakeする。

> cp Makefile.config.example Makefile.config
> make
> make test
> export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
> make runtest
[----------] Global test environment tear-down
[==========] 1080 tests from 190 test cases ran. (104821 ms total)
[  PASSED  ] 1080 tests.

  YOU HAVE 2 DISABLED TESTS


次は、Pythonのpipとapt-getを用いて必要なpythonモジュールをインストールし、pycaffeをコンパイルする。ちなみに、Anacondaを用いたコンパイルも試したが、いくつかのブログ()で紹介されているように、libm、libhdf5及びtiff4などのリンク問題があったので、お薦めしない。

追記:anacondaでは「make runtest」時に以下のエラーがでる。

.build_release/tools/caffe: error while loading shared libraries: libhdf5_hl.so.10: cannot open shared object file: No such file or directory

これは、LD_LIBRARY_PATHに、anaconda2/libを設定することにより解決する。例えば、.bashrcに以下を追加する。

export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:/home/hachiya/anaconda2/lib:$LD_LIBRARY_PATH
> sudo apt-get install python-pip
> sudo apt-get install python-dev python-numpy python-scipy python-skimage
> for req in $(cat python/requirements.txt); do sudo pip install $req; done
> make pycaffe
> export PYTHONPATH=~/caffe/python/:$PYTHONPATH

最後に、下記のページに沿って、学習済みのcaffenetのモデルを使って動作確認をした。
hirotaka-hachiya.hatenablog.com

具体的には、以下からダウンロードできるpythonコード(imagenet_visualize.py)を用いた。
https://drive.google.com/open?id=0B3uB4w2FEJbIbTIweEU2S2txWW8

実行結果は、次のようになっている。

> python imagenet_visualize.py
Results:
Top 1 Egyptian cat ( 285 ) , score= 0.30974
Top 2 lynx ( 287 ) , score= 0.276396
Top 3 tabby ( 281 ) , score= 0.14707
Top 4 grey fox ( 280 ) , score= 0.0897404
Top 5 tiger cat ( 282 ) , score= 0.0532915

f:id:hirotaka_hachiya:20150322222140p:plain
f:id:hirotaka_hachiya:20150322222153p:plain