(Dockerの知識がある人は、圧倒的にDocker Imageをインポートして使った方が楽です!(こちら))
##環境
マシン、OS : MacBookPro 10.11.4
CPU : 2.2 GHz Intel Core i7
メモリ : 16 GB
##手順
※Pythonは2.7.10を使っています。
Anaconda-2系を使う場合は、こちらを参照。
System(Macに最初から入っているPython)だと、PyCaffeをインポートする時にエラーが起きます。
pyenvで新しいPython2.7系を入れるのが良いかと思われます。
※CMake(僕は3.5)を使います。
1.依存パッケージをhomebrewでインストール
brew install -vd snappy leveldb gflags glog szip lmdb
brew tap homebrew/science
brew install hdf5 opencv
brew install --build-from-source --with-python -vd protobuf
brew install --build-from-source -vd boost boost-python
下の2つ(protobufとboost)はかなり時間がかかります。
2.Caffeをダウンロードする
Githubからクローンするのが良いやり方だそうです。
git clone https://github.com/BVLC/caffe.git
3.Makefile.configを書き換える
・まず以下を実行します(コピーの作成)
cp Makefile.config.example Makefile.config
・Makefile.configの以下を書き換えます。
# CPU-only switch (uncomment to build without GPU support).
CPU_ONLY := 1 #コメントアウトを外す。
...
# Homebrew puts openblas in a directory that is not on the standard search path
# openblasをインストールしたパスを記入します。
BLAS_INCLUDE := /usr/local/cellar/openblas/0.2.18_2/include
BLAS_LIB := /usr/local/cellar/openblas/0.2.18_2/lib
...
# 追記した方が良さそうです。
LIBRARIES += cblas
LDFLAGS += -framework Accelerate
4.コンパイルをする
CMakeを使う(普通のMakeだとLinker Errorが出ます。)
caffe/に移動して、以下を実行。
mkdir build
cd build
cmake ..
make all
make install
make runtest
これでおそらくビルドできます。
使えるかどうかは、サンプルプログラムを動かして確認してください。
(Mnistだとこの記事で詳しく書かれています。)
これでC++ではすでに使えるようになっています。
(基本は./build/tools/caffe train --solver=**.prototxtを実行します。
詳しくは公式ページをみてください)
5.Python用にビルドする
caffe/buildに移動して、以下を実行するだけです。
make Pycaffe
Pathを追加するのを忘れずに。(僕は.zshrc)
export PYTHONPATH=(path to caffe)/caffe/python:$PYTHONPATH
これで、import caffe
が使えるとおもいます。
##参考記事(お世話になりました!)
・Caffeの公式ページ
・MAC OS X El CapitanでDeep Learningができるように、Caffeをインストールしてみた
・Mac OSX 10.11でDeepLearningフレームワークCaffeのサンプルを動かすまで