Keep In Mind

織りのやわらかい混じりけのないアイルランド麻のハンカチーフ(手ふき)

備忘録:MacOSX(10.9.5)にCaffeをインストール

はじめに

Caffeは,カリフォルニア大学バークレー校のBerkeley Vision and Learning Centerで開発されたOSSのDeep Learning Frameworkです.

今回は,CPUモードで設定します.GPUを使う場合は,この他にCUDAのインストールとコンパイラのlibstdc++への切り換えが必要なようです.

 

 

参考サイト

  1. Caffe本家サイトのインストレーションページ
  2. OS X 10.10(Yosemite)にCaffeをインストールする(libstdc++問題解決)
  3. CaffeをOS X 10.10 にインストールした
  4. DeepLearningライブラリ「Caffe」の実行環境をOSX10.9で作る

 

Homebrewのインストール

sudo ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
X CodeとCommand Line Toolが必要らしいですが,何もせずインストールできたので,事前にインストールしてたみたいです.

 

 

OpenCVのインストール

.bash_profileに以下を追加
export PATH=$PATH:/opt/local/bin
source ~/.bash_profileで反映
echo $PATHで確認
brew tap homebrew/science
brew install opencv

 

 

Caffeのリポジトリをクローン

git clone https://github.com/BVLC/caffe.git
Xcodeを使うのにライセンスに同意しろと言われるので,[space]キーでライセンス文章を全部見た後にagree [return]

 

 

Pythonのインストール

https://www.python.org/downloads/ から「Mac OS X 64-bit/32-bit installer」をダウンロードしてインストール.(バージョンは2.7.10を選択)

 

 

Pythonの関連ライブラリをインストール

cd caffe
pip install -r python/requirements.txt

 

memo
pipはPythonのインストールと同時にインストールされる模様.途中でscikit-imageやmatplotlibでインストールが止まる場合は,numpyとscipyを先にインストールしておくらしい.(brew install numpy,brew install scipy)

 

 

OpenCVPythonから使う設定

ヘッダーやライブラリファイルのシボリックリンクの作成
sudo chmod 777 /Library/Python/2.7/site-packages
sudo ln -sfn /usr/local/Cellar/opencv/2.4.11_1/lib/python2.7/site-packages/cv.py /Library/Python/2.7/site-packages/
sudo ln -sfn /usr/local/Cellar/opencv/2.4.11_1/lib/python2.7/site-packages/cv2.so /Library/Python/2.7/site-packages/
sudo chmod 755 /Library/Python/2.7/site-packages
openCVPythonのバージョンに応じてパスは書き換える.
HomebrewでPythonを別途インストール
brew install python

 

memo
シンボリックリンクの作成とPython別途インストールをしないとPythonからimport cvとすると,Segmentation errorが出てPythonが落ちるらしい(未確認).

 

 

Open BLASのインストール

brew tap homebrew/science
brew install homebrew/science/openblas

 

memo
"==> make bootstrap"と表示されてから70分くらいかかった...

 

 

boostを1.54にダウングレード,boost-pythonを1.55にダウングレード

brew edit boost
============
url "https://downloads.sourceforge.net/project/boost/boost/1.54.0/boost_1_54_0.tar.bz2"
sha1 "230782c7219882d0fab5f1effbe86edb85238bf4"
============
brew edit boost-python
============
url 'https://downloads.sourceforge.net/project/boost/boost/1.55.0/boost_1_55_0.tar.bz2'
sha1 'cef9a0cc7084b1d639e06cd3bc34e4251524c840'
============
for x in snappy leveldb gflags glog szip lmdb homebrew/science/opencv; do brew install --build-from-source --fresh -vd $x; done
brew install --build-from-source --with-python --fresh -vd protobuf
brew install --build-from-source --fresh -vd boost boost-python

 

memo
これも結構時間かかった.合計1時間くらい.当初boostは1.55にダウングレードしたが,コンパイルエラーが途中で停止.1. raise 2. ignore 3. backtrace 4. irb 5. shellで1を選ぶが,コンパイルされず作成失敗.1.54にしても同様のエラーで停止したが,4を選びexitして抜けるとコンパイルされた.単純に2を選択して無視すれば1.55 でも良かったのかも?

 

 

configファイルの修正とCaffeのコンパイル

cp Makefile.config.example Makefile.config
sudo vi Makefile.config
============
CPU_ONLY := 1
CUSTOM_CXX := clang++
BLAS:=open
BLAS_INCLUDE := /usr/local/Cellar/openblas/0.2.14_1/include
BLAS_LIB := /usr/local/Cellar/openblas/0.2.14_1/lib
CUDA関連部分を全てコメントアウト
============
make all

 

memo
fatal error: 'cblas.h' file not found と言われたら sudogit checkout dev
fatal error: 'hdf5.h' file not found と言われたら brew install hdf5

 

 

Caffeのテスト

make test
make runtest