系统描述

本人系统:macOS Sierra 10.12 显卡: Intel Iris Pro 1536 MB

以下步骤基于官方安装文档以及网络的补充 http://caffe.berkeleyvision.org/install_osx.html

安装Homebrew

在terminal中执行以下就可以安装

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

然后安装以下包

brew install -vd snappy leveldb gflags glog szip lmdb
# need the homebrew science source for OpenCV and hdf5
brew tap homebrew/science
brew install hdf5 opencv

接着安装Anaconda Python python的库,caffe用于计算的很多库都在其中,下载https://www.continuum.io/downloads,选择python2.7,安装完成之后,配置环境变量

vim ~/.bash_profile
export PATH=~/anaconda/bin:$PATH
source ~/.bash_profile

修改opencv的配置

brew edit opencv

寻找类似下面两行

args << “-DPYTHON_LIBRARY=#{py_lib}/libpython2.7.#{dylib}”
args << “-DPYTHON_INCLUDE_DIR=#{py_prefix}/include/python2.7”

替换为

args << “-DPYTHON_LIBRARY=#{py_prefix}/lib/libpython2.7.dylib”
args << “-DPYTHON_INCLUDE_DIR=#{py_prefix}/include/python2.7”

然后执行

brew install –build-from-source –with-python –fresh -vd protobuf
brew install –build-from-source –fresh -vd boost boost-python

安装Cuda

  1. https://developer.nvidia.com/cuda-downloads下载安装CUDA 8.0
  2. CUDA驱动下载http://www.nvidia.com/object/mac-driver-archive.html。
  3. 然后配置环境变量
vim ~/.bash_profile
export PATH=/Developer/NVIDIA/CUDA-8.0/bin:$PATH
export DYLD_LIBRARY_PATH=/Developer/NVIDIA/CUDA-8.0/lib:$DYLD_LIBRARY_PATH
source ~/.bash_profile

安装BLAS – Intel MKL

  1. 我选择商业版的Intel MKL线性代数计算库。获取license需要一个edu的学校邮箱,
  2. 这儿下载Intel® Parallel Studio XE Composer Edition-- C/C++ OS X* 。 这个过程会需要注册,然后邮件激活,之后自己的intel账号中会产生license号码,在安装时填入即可
  3. 确保安装每一个组件,在编译caffe的设置Makefile.config步骤中,设置BLAS:=MKL
  4. source /opt/intel/mkl/bin/mklvars.sh intel64

如需安装cuDNN请参见此处。 cuDNN是intel出的一个加速卷积计算的库,可加速CNN网络计算 Install NVIDIA cuDNN from NVIDA。之后记得把Makefile.configUSE_CUDNN := 1注释掉,然后执行

tar -xzvf cudnn-6.5-osx-v2.tgz
cd cudnn-6.5-osx-v2
sudo cp lib* /usr/local/cuda/lib
sudo cp cudnn.h /usr/local/cuda/include/

设置一些环境变量

vim ~/.bash_profile
export DYLD_FALLBACK_LIBRARY_PATH=/usr/local/cuda/lib:$HOME/anaconda/lib:/usr/local/lib:/usr/lib:/opt/intel/compilers_and_libraries_2017.0.102/mac/compiler/lib:/opt/intel/compilers_and_libraries_2017.0.102/mac/mkl/lib:/usr/local/Cellar/hdf5/1.8.18/lib:/usr/local/Cellar/boost/1.63.0/lib:/usr/local/Cellar/boost-python/1.63.0/lib
source ~/.bash_profile
注意
此步骤尤其重要,每一个库的lib都需要写进去,否则编译时找不到;这里环境变量路径请自行确认,版本号可能不同路径会不一样

如果遇到DYLD_FALLBACK_LIBRARY_PATH is cleared by the new System Integrity Protection feature 要把System Integrity Protection禁掉, 步骤:重启mac开机时按command+r进入恢复模式,运行terminal,输入csrutil disable,再重启即可

编译运行caffe

获取caffe代码并编译

git clone https://github.com/BVLC/caffe.git
cd  caffe
cp Makefile.config.example Makefile.config

设置其中BLAS := mkl,取消USE_CUDNN := 1注释(因我没有配置cuDNN所以此部不设置),然后依此执行以下四行代码

make clean
make all -j4 # 表示四个核同时跑
make test
make runtest

若出现以下界面表示成功 img

然后运行,不报错,否则一般是某些库的lib路径没有填入DYLD_FALLBACK_LIBRARY_PATH环境变量中

make pycaffe
make distribute