2014.11.11時点でのインストール情報です。
pythonまわりがややこしいので、pyenvのanaconda-2.0.1にインストールする方針
以下をインストール
-
NVIDIA Cuda Driver http://www.nvidia.co.jp/content/DriverDownload-March2009/confirmation.php?url=/Mac/Quadro_Certified/6.5.14/cudadriver-6.5.14-macos.dmg&lang=jp&type=Other
-
NVIDIA Cuda https://developer.nvidia.com/cuda-downloads
Caffeは3種類のライブラリに対応していて、どれを使っても良い。 MacOSのSDKにもともと含まれるATLASを使用するが、10.10からは保存場所が変わっていてcaffeのmakefile.configを修正する必要がある。
科学計算ライブラリのパッケージ。
brew install pyenv
pyenv install anaconda-2.0.1
pyenv rehash
sudo pyenv local anaconda-2.0.1
sudo pyenv global anaconda-2.0.1
Homebrewのformulaを変更する必要あり。
バージョンが1.55でないと調子が悪いので、1.55のformulaを取得。 一応1.56でも試してみたが、ビルドは通るがruntestでいくつか失敗が出るという感じ。 以下の要領でboostのformulaを1.55に
cd /usr/local
git checkout a252214 /usr/local/Library/Formula/boost.rb
下記のコマンドで該当のライブラリのformulaが逐次開くので、それぞれdef install以下に修正を加える。
for x in snappy leveldb protobuf gflags glog szip boost boost-python lmdb homebrew/science/opencv; do brew edit $x; done
以下のように修正
def install
# ADD THE FOLLOWING:
ENV.append "CXXFLAGS", "-stdlib=libstdc++"
ENV.append "CFLAGS", "-stdlib=libstdc++"
ENV.append "LDFLAGS", "-stdlib=libstdc++ -lstdc++"
# The following is necessary because libtool likes to strip LDFLAGS:
ENV["CXX"] = "/usr/bin/clang++ -stdlib=libstdc++"
boost-pythonのformulaも1.55を使うように手動で修正
brew edit boost-python
homepage "http://www.boost.org"
- url "https://downloads.sourceforge.net/project/boost/boost/1.56.0/boost_1_56_0.tar.bz2"
- sha1 "f94bb008900ed5ba1994a1072140590784b9b5df"
+ url 'https://downloads.sourceforge.net/project/boost/boost/1.55.0/boost_1_55_0.tar.bz2'
+ sha1 'cef9a0cc7084b1d639e06cd3bc34e4251524c840'
+ revision 2
head "https://github.com/boostorg/boost.git"
python関連のパスを2.7固定に
brew edit opencv
-DPYTHON_LIBRARY=#{py_prefix}/lib/libpython2.7.dylib
-DPYTHON_INCLUDE_DIR=#{py_prefix}/include/python2.7
以上のようにformulaを書き換えたらインストール
for x in snappy leveldb gflags glog szip lmdb homebrew/science/opencv; do brew uninstall $x; brew install --build-from-source --fresh -vd $x; done
brew uninstall protobuf; brew install --build-from-source --with-python --fresh -vd protobuf
brew uninstall boost
brew uninstall boost-python
brew install --build-from-source --fresh -vd boost boost-python
Caffeを落としましょう。
git clone https://github.com/BVLC/caffe.git
cd caffe
cp Makefile.config.example Makefile.config
cuda6以上を入れているので以下をアンコメント
-gencode arch=compute_50,code=sm_50 \
-gencode arch=compute_50,code=compute_50
pythonインターフェースのパスPYTHON_INCLUDE, PYTHON_LIB を変更する。
# Anaconda Python distribution is quite popular. Include path:
PYTHON_INCLUDE := $(HOME)/.pyenv/versions/anaconda-2.0.1/include \
$(HOME)/.pyenv/versions/anaconda-2.0.1/include/python2.7 \
$(HOME)/.pyenv/versions/anaconda-2.0.1/lib/python2.7/site-packages/numpy/core/include
PYTHON_LIB := $(HOME)/.pyenv/versions/anaconda-2.0.1/lib
OSのバージョンをfindstringしてる箇所があるので直し
- ifneq ($(findstring 10.9, $(shell sw_vers -productVersion)),)
+ ifneq ($(findstring 10.10, $(shell sw_vers -productVersion)),)
CXXFLAGS += -stdlib=libstdc++
LINKFLAGS += -stdlib=libstdc++
endif
10.10からblasの場所が変わってOSXSDK内のaccelerate.Frameworkの中に移ったのでパスを直し
else ifeq ($(OSX), 1)
# OS X packages atlas as the vecLib framework
BLAS_INCLUDE ?= /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Accelerate.framework/Versions/Current/Frameworks/vecLib.framework/Headers/
LIBRARIES += cblas
LDFLAGS += -framework Accelerate
endif
make all
make test
make runtest
[----------] Global test environment tear-down [==========] 838 tests from 169 test cases ran. (172365 ms total) [ PASSED ] 838 tests.
YOU HAVE 2 DISABLED TESTS
これでコマンドラインからCaffeを使えるようになったはず。
シェルのパスに追加。必要があれば適宜。
# pyenv
export PYENV_ROOT="${HOME}/.pyenv"
if [ -d "${PYENV_ROOT}" ]; then
export PATH=${PYENV_ROOT}/bin:$PATH
eval "$(pyenv init -)"
fi
# caffe
export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH
export DYLD_FALLBACK_LIBRARY_PATH=/usr/local/cuda/lib:$HOME/.pyenv/versions/anaconda-2.0.1/lib:/usr/local/lib:/usr/lib
pythonインターフェース使いたい人は以下も。 pycaffe をコンパイル
make pycaffe
protobufをpipで入れておく
pip install protobuf
-
Caffe | Installation http://caffe.berkeleyvision.org/installation.html
-
MASABLOGGERS: DeepLearningFramework Caffe Install MacOSX http://masabloggers.blogspot.jp/2014/10/deeplearningframework-caffe-install.html
-
google group: something wrong happens when making runtest https://groups.google.com/forum/#!msg/caffe-users/TcCx-qjTLp8/cUreJ1hl1_QJ