macOS10.12.6 如何安装 caffe 环境

在写这篇心得之前, 容许我吐槽一下 --- caffe真TMD难安装.

硬件环境:

macOS Seirra 10.12.6
Intel Iris 1536 MB
乞丐版本rmbp

Homebrew

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

brew安装依赖包

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

注意: 下文中路径中username是Mac的用户文件夹(/User/username/)

Anaconda 下载并安装Anaconda Python。安装成功之后,添加ananconda执行文件的路径()
注意: caffe所有的python环境都是使用Anaconda内的python

export PATH="/Users/username/anaconda2/bin:$PATH"
export DYLD_FALLBACK_LIBRARY_PATH=/Users/usernam/anaconda2/lib:$DYLD_FALLBACK_LIBRARY_PATH

安装BLAS

大部分教程使用Intel MKL, 这里我使用openblas.

brew install openblas

OpenVC环境变量

brew edit opencv
 将下面两行
-DPYTHON_LIBRARY=#{py_lib}/libpython2.7.#{dylib}
-DPYTHON_INCLUDE_DIR=#{py_prefix}/include/python2.7
 替换为:
-DPYTHON_LIBRARY=#{py_prefix}/lib/libpython2.7.dylib
-DPYTHON_INCLUDE_DIR=#{py_prefix}/include/python2.7

python依赖项目:

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

配置Caffe

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

配置Makefile.config

CUDA, cuDNN (因为乞丐版没有集成显卡, 所以不安装)
下面是我配置的Makefile.config:

CPU_ONLY := 1

OPENCV_VERSION := 3

BLAS := open

BLAS_INCLUDE := $(shell brew --prefix openblas)/include
BLAS_LIB := $(shell brew --prefix openblas)/lib

ANACONDA_HOME := $(HOME)/anaconda2
PYTHON_INCLUDE := $(ANACONDA_HOME)/include $(ANACONDA_HOME)/include/python2.7 $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include

PYTHON_LIB := $(ANACONDA_HOME)/lib
PYTHON_INCLUDE += $(dir $(shell python -c 'import numpy.core; print(numpy.core.__file__)'))/include
PYTHON_LIB += $(shell brew --prefix numpy)/lib

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

BUILD_DIR := build
DISTRIBUTE_DIR := distribute

TEST_GPUID := 0
Q ?= @

编译caffe:

make clean
make all -j8
make runtest

打包caffe:

make pycaffe
make distribute

编译完成:

cd python/
python
>> import caffe
>>
如果import caffe之后没有报错, 那么你已经成功安装好caffe环境. 如果报错就继续阅读.

编译报错解决:

报错: import caffe Segmentation fault: 11 报错

这是系统python和Anaconda python发生冲突, 将默认python设置成Anaconda python, 然后重启一次Terminal.

报错: dyld: Library not loaded: @rpath/libhdf5_hl.10.dylib

dyld: Library not loaded: @rpath/libhdf5_hl.10.dylib
  Referenced from: /Users/work/gitclone/caffe/.build_release/test/test_all.testbin
  Reason: image not found

使用install_name_tool添加anaconda2库路径:

install_name_tool -add_rpath ~/anaconda2/lib /Users/username/Documents/caffe/.build_release/tools/caffe

dyld: Library not loaded: @rpath/libhdf5_hl.10.dylib

报错编译都完成后,import caffe

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "caffe/__init__.py", line 1, in <module>
    from .pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropSolver, AdaDeltaSolver, AdamSolver, NCCL, Timer
  File "caffe/pycaffe.py", line 13, in <module>
    from ._caffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, \
ImportError: dlopen(caffe/_caffe.so, 2): Library not loaded: @rpath/libcaffe.so.1.0.0
  Referenced from: /Users/zuoxiansheng/Documents/caffe/distribute/python/caffe/_caffe.so
  Reason: image not found

这个报错差点把我折腾到放弃, 直到第三天, 在这里我绝望地寻找解决方法, 心灰意冷地准备尝试这个命令.

1. step: 添加python lib 环境变量路径
export DYLD_FALLBACK_LIBRARY_PATH=/usr/local/cuda/lib:$HOME/anaconda2/lib:/usr/local/lib:/usr/local/Cellar/:/usr/local/cu    da/lib:~/anaconda2/lib:/usr/local/lib:/usr/lib:$DYLD_FALLBACK_LIBRARY_PATH
2.step:仍然报错报错就把lib拷贝到本地lib
After make test in $CAFFE_ROOT:
cp -a .build_release/lib/. /usr/local/lib/

然后, import caffe终于成功了... (确保命令行执行的是Anaconda python, 因为caffe的Make.config的python路径是Anaconda). 我使用pyenv管理不同版本的python (System,brew,Anaconda)

如果显示的系统python, 那么查看~/.bash_profile的Anaconda的python环境变量是否已设置 export PATH="/Users/username/anaconda2/bin:$PATH"

Python 2.7.13 |Anaconda 4.4.0 (x86_64)| (default, Dec 20 2016, 23:05:08)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org

f**k the caffe!!

总结

这次无比坑爹的安装过程, 验证了坚持不懈就是✌️

相关文章:

如何在Macosx上安装caffe
OSX 10.11 linking issue: dyld: Library not loaded: libcaffe.so.1.0.0-rc3
Caffe Mac安装环境配置:macOS 10.12+集成显卡
在 macOS Sierra 10.12.2 上編譯 Caffe 並使用 DIGITS

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,290评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,399评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,021评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,034评论 0 207
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,412评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,651评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,902评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,605评论 0 199
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,339评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,586评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,076评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,400评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,060评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,083评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,851评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,685评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,595评论 2 270

推荐阅读更多精彩内容