MAC OS X10.10下Caffe无脑安装(CPU ONLY)

最近心血来潮,想趁着实习之前一周空闲的时间玩玩各种 Deep Learning 的热门工具(Caffe, Theano 之类),结果却深陷安装和配置环境的痛苦当中。。。安装Caffe花费了我两天时间,在各种文档教程中绕了不少圈子。据不完全统计,对我比较有帮助的一些参考资料如下:

  1. Caffe官方文档:http://caffe.berkeleyvision.org/install_osx.html
  2. 最初照着弄的资料:http://blog.csdn.net/surgewong/article/details/43708339
  3. 出现各种问题:https://groups.google.com/forum/#!topic/caffe-users/G7gj03A-JPwhttps://github.com/BVLC/caffe/issues/2018https://github.com/BVLC/caffe/issues/2307https://github.com/BVLC/caffe/issues/1830
  4. 顺便搞清楚了OpenCV的安装:http://www.learnopencv.com/install-opencv-3-on-yosemite-osx-10-10-x/
好吧,以上一堆链接不仅仅是想吐槽,也是给大家一些可以查询的reference。BUT,对于我这种对安装配置极其不感冒的人来说,我只需要无脑安装——不求甚解,只求能用。因此便纪录此文,以方便同道中人。另外还有个重要的原因是,网上很多资料都有点过时了(包括官方文档),只会让人(我)白绕圈子。

GOAL

在Mac OS X10.10 系统下成功安装Caffe,由于本人Mac没有NVDIA显卡,因此选用CPU ONLY的安装方式。(只要能跑两个实验玩玩就好啦!)

KEY POINTS

好吧,其实安装的要点只有两个:
  • 根本不需要改成基于libstdc++ 来编译安装啊啊啊。。。(官方文档这个骗纸)
  • 手动修改使它CPU_ONLY的地方 (不要问我为什么,反正我成功了)

STEP BY STEP

下面开始无废话温馨手把手安装过程。。。


1. 安装 Homebrew

点击 Homebrew 主页:http://brew.sh/,安装 homebrew 并成功。


2. 安装 CUDA

到CUDA官网:https://developer.nvidia.com/cuda-downloads,下载最新的CUDA 7.0,按照安装提示走即可。
安装成功后,设置相关路径。在/etc/profile 中设置以下环境变量:

export PATH=/Developer/NVIDIA/CUDA-7.0/bin:$PATH

export DYLD_LIBRARY_PATH=/Developer/NVIDIA/CUDA-7.0/lib:$DYLD_LIBRARY_PATH


3. 安装各种依赖

这里多说两句,由于更新了OS X10.9+和CUDA 7.0的缘故,现在它们都支持libc++的编译方式了,所以以前资料中为此做的各种工作(修改brew edit的内容)都没有必要,直接装就好了。

for x in snappy leveldb gflags glog szip hdf5 lmdb homebrew/science/opencv;
do
    brew uninstall $x;
    brew install --fresh -vd $x;
done
brew uninstall --force protobuf; brew install --with-python --fresh -vd protobuf
brew uninstall boost boost-python; brew install --fresh -vd boost boost-python

4. 下载 Caffe 并修改配置

git clone https://github.com/BVLC/caffe.git
cd caffe
cp Makefile.config.example Makefile.config
在Makefile.config中:
取消 CPU_ONLY := 1 的注释


5. 安装

mkdir build
cd build
cmake ..

然后你会神奇的发现CPU_ONLY 那行仍然写着OFF。。。所以我们来手动改他
打开CMakeCache.txt,将 CPU_ONLY:BOOL= 赋值ON。
打开CaffeConfig.cmake, 找到set(CPU_ONLY, OFF),同样改成ON。

开始安装了
make all
make runtest

成功搞定!

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。