在Mac OS Mojave(10.14)上安装 caffe(转自知乎)

因为种种原因需要跑一个caffe的代码所以今天就折腾了一下在Mojave上如何安装caffe以及一些其他文章没有总结出来的坑。

在app store里下载安装Xcode,不然会有” framework not found vecLib “的问题出现。

假设你已经在mac上安装了homebrew,根据caffe的官方指南,我们需要安装一些依赖:

brew install -vd snappy leveldb gflags glog szip lmdb
brew install openblas

跟官方指南不一样的是homebrew已经取消了science这个tap,所以使用如下的命令来安装hdf5 和 opencv:

brew install hdf5 opencv

因为新版本的boost, boost-python和旧版本有兼容性问题[1], 我们使用homebrew 所提供的boost@1.59版本 来代替最新版本的boost:

brew install boost@1.59 boost-python@1.59
brew link boost@1.59 --force
brew link boost-python@1.59 --force

至于protobuf,实测在3.6.1版本上也不能正确编译,而homebrew带其他版本太旧,这里我们从source编译protobuf的3.5.1版本:

cd ~/Downloads 
wget https://github.com/protocolbuffers/protobuf/archive/v3.5.1.zip
unzip protobuf-3.5.1.zip
cd protobuf-3.5.1
./autogen.sh
./configure
make
make install

依赖安装完了,现在我们对所需要用到的python版本进行设置,因为据说caffe在python3的表现并不是很好很容易出bug,这里我们使用的是anaconda的虚拟环境来构建一个python2.7的版本,并且安装相关依赖:

conda create --name py27 python=2.7
source activate py27
pip install numpy scipy scikit-image

现在开始装caffe。

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

其次需要在Makefile.config里做一些调整:

1. 取消CPU_ONLY前面的注释
2. 取消USE_OPENCV前面的注释
3. 取消USE_HDF5前面的注释,并且改成1
4. 取消OPENCV_VERSION前面的注释
5. 注释掉CUDA_DIR那一行
6. 将BLAS改成open
7. 设置blas的路径,取消这两行的注释
     # Homebrew puts openblas in a directory that is not on the standard search pathHomebrew puts openblas in a directory that is not on the standard search path
     BLAS_INCLUDE := $(shell brew --prefix openblas)/include
     BLAS_LIB := $(shell brew --prefix openblas)/lib

8.设置python的路径,因为我使用的是anaconda3, 所以我创建了一个名叫py27的python=2.7的子环境,然后设置如下:
	# Uncomment to support layers written in Python (will link against Python libs)
 	WITH_PYTHON_LAYER := 1
    ANACONDA_HOME := $(HOME)/anaconda3/envs/py27
    PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
               $(ANACONDA_HOME)/include/python2.7 \
               $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include
       
    # Uncomment to use Python 3 (default is Python 2)
    # PYTHON_LIBRARIES := boost_python3 python3.5m
    # PYTHON_INCLUDE := /usr/include/python3.5m/usr/lib/python3.5/dist-packages/numpy/core/include
       
    # We need to be able to find libpythonX.X.so or .dylib.
    # PYTHON_LIB := /usr/lib
    PYTHON_LIB := $(ANACONDA_HOME)/lib

一切就绪,就可以编译了:

cd ~/caffe
make all
make test
make runtest
make pycaffe
source activate py27
python -c "import caffe"
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值