【记录】在MAC上安装caffe

---恢复内容开始---

最近尝试在MAC(OS X 10.11 El Capitan)上安装Caffe 以及Python接口遇到了一些问题但是官方安装教程上并没有提出这些问题的解决办法搜索了很久(主要在于Python接口上) 终于找到了解决办法

其实Caffe的安装分两步:安装依赖+编译源码

首先是安装依赖:

【必要依赖】:

官方推荐用homebrew来安装:

brew install -vd snappy leveldb gflags glog szip lmdb
# 添加science源来安装 OpenCV 和 hdf5
brew tap homebrew/science
brew install hdf5 opencv

或者使用Anaconda Python这个工具包含了大量的Python工具包来解决以上依赖问题而且安装新的软件包也特别容易。如果用Anaconda Python的话HDF5已经包含其中了 可以略过。并且opencv这里有两行需要改一下:

brew edit opencv

然后找到跟下面两行类似的改成如下(改变的他Python路径用Anaconda的Python而不是系统自带的)

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

然后是BOOST和BOOST-Python 安装这个主要是为了之后Python接口的编译

# with Python pycaffe needs dependencies built from source
brew install --build-from-source --with-python -vd protobuf
brew install --build-from-source -vd boost boost-python

BLAS部分:网上有人说系统自带的不稳定推荐换成MKL但是我没有换也是可以用的。

Python接口:从Github上把Caffe下载下来解压后用命令行进入其中的Python文件夹执行以下命令来安装Python的依赖:

for req in $(cat requirements.txt); do pip install $req; done

用MAKE指令来编译:

在编译之前我们需要修改make.config的几个地方

首先将make.config.example的.example后缀删除

然后将CPU_ONLY := 1 的注释去掉(删除#)因为我的电脑是AMD的显卡没法使用CUDA所以无法进行GPU加速

然后就是后面的Python路径,用Anaconda Python的话将下面的注释去掉:

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

这个地方一定要注意路径正确 按照自己机器的配置来。

接下来就可以MAKE了

make all
make test
make runtestmake pycaffe

如果没有报错并且运行完runtest之后看到了一路绿色pass那么恭喜你安装完了这个时候他的CPP接口是可以用的但是Python不一定

将caffe/python路径放入你的PYTHONPATH中注意/path/to/caffe/python是你caffe的地址,注意更改。

export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH

在命令行中进入Python尝试import caffe 如果不报错那么恭喜你Python接口也可以正常使用。

遇到的报错:

  1. 如果运行import caffe的时候提示 no module  那么说明你的PYTHONPATH有问题 注意更改
  2. 如果遇到了segmentation fault 那很有可能是你系统里也有多个版本的Python并且编译和运行的时候不是一个版本(通常是boost-Python链接的Python是系统自带Python而不是anaconda)。这个时候可以在编译的时候强制他们都用同一个Python。用otool -L指令来检查:
$ brew info boost
...
$ otool -L /usr/local/Cellar/boost/1.57.0/lib/libboost_system.dylib # this is one of the libs that caffe links against
...
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.0.0)
...
$ brew info boost-python
...
$ otool -L /usr/local/Cellar/boost-python/1.57.0/lib/libboost_python.dylib
...
/usr/local/Frameworks/Python.framework/Versions/2.7/Python (compatibility version 2.7.0, current version 2.7.0)

注意其中的boost和boost-python的版本和路径需要更改。

    我在Github上发现还有另一种解决方法,首先查看_caffe.so:

    otool -L python/caffe/_caffe.so

     如果他没有链接到你的anaconda Python上那么用下面的命令强制他链接上去就不会有segmentation fault的错误啦:

    install_name_tool -change "libpython2.7.dylib" "$HOME/anaconda/lib/libpython2.7.dylib" python/caffe/_caffe.so

 Reference:
  1.   Caffe offical installation
  2.     Github:Theory of Building Caffe on OS X
  3.      Github Issue#591

     
 
时间: 06-19

【记录】在MAC上安装caffe的相关文章

mac上安装python3 和 sqlite的问题

建议mac上安装python3不要使用源码自己编译安装,而要使用 brew install python3 来安装 另外安装完之后创建需环境的话,要指定新的python环境,如下: virtualenv  -p /usr/local/Cellar/python3/3.6.2/bin/python3  --no-site-packages obpy17 Mac OSX 正确地同时安装Python 2.7 和Python3 Mac OSX 正确地同时安装Python 2.7 和Python3(这个是

Mac上安装brew

用过ubuntu系统的都知道,上面有一个命令apt-get 很方便可以快速的安装很多软件 特别lamp环境 都是一键安装. 在mac上也有类似的命令 brew brew用法可以访问官网地址  http://brew.sh/ 但是在mac上安装 brew 的命令如下 curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C /usr/local --strip 1 但是按照上面的方式安装,都没成功,也没有

mac上安装homebrew

1:关于homebrew下载地址 homebrew下载地址网上版本很多:我用了几个都是显示 404 bad request 如图:均无法现在 有一个网址会给出最新的 安装地址: the URL is:   http://brew.sh/index_zh-cn.html 在网站的最下面给出了通过terminal下载 homebrew的最新的下载地址: 我下载的最新的路径是: ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew

mac上安装unrar和rar解压缩工具

问题描述: mac上默认不支持 rar压缩,但是从windows过来的很多文件,以及邮件中的附件都是通过rar的方式进行压缩的,所以考虑在mac上也能够进行解压缩rar文件 步骤: 1:首先到网站click here上下载RAR 5.10 beta 4 for Mac OS.    2:在terminal下执行执行解压缩命令:tar xvf rarosx-5.1.b4.tar进行解压 3:进入刚刚解压的rar目录中,cd downloads/rar 4:使用如下命令进行安装 mac上安装unra

在mac上安装nodejs

文章转载自我的个人博客  www.iwangzheng.com node.js最初是2009年发布的,目标是为聊实现事件驱动和非阻塞I/O的web服务器,应用的场景非常的广泛,有web服务器.实时应用.分布式应用.游戏.一些工具中,它是基于Chrome的V8引擎开发的.大家可以在github上找到开源代码: http://github.com/joyent/node. 之前用的电脑是windows系统的,现在换了mac之后需要在mac上重新安装下,let's start now ? git cl

Mac上安装cocoapods的步骤

命令:$ gem sources --remove https://rubygems.org///等有反应之后再敲入以下命令$ gem sources -a https://ruby.taobao.org/为了验证你的Ruby镜像是并且仅是taobao,可以用以下命令查看:$ gem sources -l只有在终端中出现下面文字才表明你上面的命令是成功的: *** CURRENT SOURCES *** http://ruby.taobao.org/ 这时候,你再次在终端中运行: $ sudo

mac 上安装 redis

mac 上安装 redis 首先必须保证mac 已经安装 xcode. 因为make时要用到 Xcode 的command Tools . (1)下载 redis   http://redis.googlecode.com/files/redis-2.8.7.tar.gz 解压到当前目录. (2)你也可以在终端下载: 1 2 curl -O http://redis.googlecode.com/files/redis-2.8.7.tar.gz sudo tar -zxf redis-2.8.7

mac上安装MySQL

mysql 官网下载http://dev.mysql.com/downloads/mysql/ 注意安装mysql-5.5.17-osx10.6-x86_64.dmg这样安装方便设置系统安全权限后 点击安装 !!1.mysql-5.5.17-osx10.6-x86_64.pkg2.MySQLStartupItem.pkg3.MySQL.prefPane依次安装 终端中输入命令:/usr/local/mysql/bin/mysqladmin -u root password xxx(新密码)终端中

mac上安装port

今天和大家分享下 在mac os x 上安装port 本人在  OS X El Capitan 版本的操作系统上进行安装并测试. --------------------------------- 第一步 下载: http://www.macports.org/install.php    访问后 可以看到有  OS X El Capitan版本的安装包 下载完成后   MacPorts-2.3.4-10.11-ElCapitan.pkg  文件 大小为 3.2M 第二步 安装: 这步骤就忽略了