20160512关于mac安装caffe的记录
记得2015年在mac系统上安装过一次caffe,非常顺利,但是最近群里许多同学反映mac安装caffe出现了各种问题,同时我也在帮助别人安装caffe的时候也遇到了一些坑,不再像以前这么顺利了。估计与操作系统,caffe升级有关。
今晚我重新装了一遍caffe,记录下了整个安装过程,希望对各位同学有用。
mac os 版本:10.11.4
xcode 版本: 7.2
1. 安装Homebrew
homebrew是一个包管理器,是用来安装各种包的安装器。安装方法也很简单,直接看主页吧。http://brew.sh。
2. 安装cuda,xcode
这个也不需要我多说了,cude官网https://developer.nvidia.com/cuda-downloads。
xcode直接在app store里面安装。
安装好了之后在bashrc里面将下面两行添加进去,注意版本号的区别,我这里是7.0的版本,现在已经出了7.5的版本了,建议添加之前ls看看有不有这个目录。
export PATH=/Developer/NVIDIA/CUDA-7.0/bin:$PATH
export DYLD_LIBRARY_PATH=/Developer/NVIDIA/CUDA-7.0/lib:$DYLD_LIBRARY_PATH
3. 各种依赖
这个也很简单,在命令行复制下面的语句执行即可。
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
5. 安装caffe
mkdir build
cd build
cmake -DCPU_ONLY=ON ..
6. 继续安装
make all -j8
开始遇到一些坑了。
①提示我没有装hdf5,之前我的语句是有安装的,不过既然提醒我没有,那就再装一遍吧。
brew install hdf5
②提示cblas.h没有。安装brew install openblas,然后brew link openblas –force
③接着make all -j8,提示我这个
vecLib没有,这个的修改下CMakeCache.txt文件,不过改之前大家养成好习惯ls看看有不有这个目录
/System/Library/Frameworks/Accelerate.framework/Versions/Current/Frameworks/vecLib.framework/Versions/Current/Headers
将
//vecLib include directory
vecLib_INCLUDE_DIR:PATH=/System/Library/Frameworks/vecLib.framework/Headers
改为
//vecLib include directory
vecLib_INCLUDE_DIR:PATH=/System/Library/Frameworks/Accelerate.framework/Versions/Current/Frameworks/vecLib.framework/Versions/Current/Headers
7 The Last
最后make all -j8 结束,就make runtest,结果如下图,应该没什么问题了。
8 Pycaffe安装
因为make all是相当于已经执行过了make pycaffe的。但是我这里将
export PYTHONPATH=/Users/ericxu/gitproj/caffe/python:$PYTHONPATH
加入到bashrc里面之后,在python中执行import caffe,报错,错误为segmentation fault :11。
为了解决这个问题,也查询了许多资料。其中比较有意思的如下:
1. http://blog.csdn.net/huangynn/article/details/50898661
2. http://www.jeepshoe.org/989268822.htm
3. https://github.com/BVLC/caffe/issues/591
最后得出一个结论就是,python配置的问题。具体体现在下面两点:
1. caffe目录下面的文件Makefile.config里面有段话:
NOTE: this is required only if you will compile the python interface.
这个就是需要修改的地方,其中PYTHON_LIB和PYTHON_INCLUDE特别关键,需要根据自己机器的python环境修改。一般来说有3种python环境,系统自带,brew安装,Anaconda带的。我找到自己机器的python路径为:/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib和/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/include/python2.7,上述分别为lib和include。
2. 在安装caffe的时候,需要执行cmake ..,然后系统会输出python的环境配置。比如这样:
很明显有问题,为啥Libraries还是2.7.10,和Interpreter版本根本不匹配,照理说我在Makefile.config修改了应该生效呀。这里先不管了,我直接修改build/CMakeCache.txt吧。
修改的地方截图如下:
修改完毕,然后重新make all -j8,就可以了。
最后make pytest也通过了。
9 复现NeuralStyle
既然安装好了caffe,那么使用caffe,复现下NeuralStyle吧。
这里只放出最后的成果,模型用的googlenet。
20160512关于mac安装caffe的记录的更多相关文章
- Ubuntu 16.04安装Caffe的记录及FCN官方代码的配置
相关内容搜集自官方文档与网络,既无创新性,也不求甚解,我也不了解Caffe,仅仅搭上之后做个记录,方便以后重装 安装依赖项sudo apt-get install libprotobuf-dev li ...
- Mac安装GitLab CE记录
0 REF REF1 原始的GitLab Documentation REF2 Installation-guide-for-GitLab-on-OS-X REF3 如何在Mac 终端升级ruby版本 ...
- 最完整的mac安装caffe
Dependencies : [TIP : Though the official documentation suggests installing Anaconda, it would be be ...
- Mac安装appium 问题记录
执行脚本报错:Xcode version [object Object] is not yet supported 原因:Xcode8以上的版本不支持Appium-1.5.3版本
- 【记录】在MAC上安装caffe
---恢复内容开始--- 最近尝试在MAC(OS X 10.11 El Capitan)上安装Caffe 以及Python接口遇到了一些问题但是官方安装教程上并没有提出这些问题的解决办法搜索了很久(主 ...
- Python For Mac 开发环境安装 以及问题记录
Python For Mac 开发环境安装记录 把自己安装的过程记录一下,亲测可用 1.Python3环境安装(转载http://www.cnblogs.com/meng1314-shuai/p/90 ...
- 服务器上安装caffe的过程记录
1. 前言 因为新的实验室东西都是新的,所以在服务器上要自己重新配置CAFFE 这里假设所有依赖包学长们都安装好了,我是没有sudo权限的 服务器的配置: CUDA 8.0 Ubuntu 16.04 ...
- caffe Mac 安装
参考了 https://zhuanlan.zhihu.com/p/24853767 安装caffe的依赖项 brew install --fresh -vd snappy leveldb gflags ...
- 最全caffe安装踩坑记录(Anaconda,nvidia-docker,Linux编译)
Anaconda,nvidia-docker,Linux三种方式安装caffe 1.Anaconda安装caffe 1.首先安装anaconda 2.创建虚拟环境(python2.7) conda c ...
随机推荐
- What is the difference between DAO and DAL?
What is the difference between DAO and DAL? The Data Access Layer (DAL) is the layer of a system tha ...
- 51nod1476 括号序列的最小代价
这题应该可以用费用流写吧?不过我想不出贪心来TAT.其实还是单调队列乱搞啊T_T //ÍøÉϵÄÌ°ÐÄËã·¨ºÃÉñ°¡¡£¡£¡£ÎÒÖ»»áÓÃ×îС·ÑÓÃ×î´óÁ÷ÅÜTAT #in ...
- UVa 11090 Going in Cycle!!【Bellman_Ford】
题意:给出n个点m条边的加权有向图,求平均值最小的回路 自己想的是用DFS找环(真是too young),在比较找到各个环的平均权值,可是代码实现不了,觉得又不太对 后来看书= =好巧妙的办法, 使用 ...
- spring、springmvc、mybatis整合笔记
这段时间上一个项目刚做完,下一个项目还没开始,趁这个时候来认真总结一下上个项目使用的ssm开发框架.由于,项目中关于使用ssm这部分的代码和配置是我们项目的整体架构师一个独立完成的,我们只负责业务部分 ...
- Eclipse 打开编辑文件所在文件夹方法
一个便捷的方法在eclipse的菜单中,依次点击Run->External Tools-> External Tools configurations添加一个新的工具 OpenContai ...
- phonegap 单例模式
今天在使用云推送的时候 app打开着,然后 控制台推送一条消息 结果点击后又重新打开了一个客户端... ok,我需要的是单例,我使用了singleInstance ,达到了效果. 引用百度知道的 ...
- Oracle 11g RAC oc4j/gsd Offline
Oracle 11g RAC中,发现oc4j以及gsd服务都处于offline状态,这是Oracle 11g RAC默认情形.即便如此,并不影响数据库的使用,因为 oc4j 是用于WLM 的一个资源, ...
- Word排版成树形结构技巧
初始文字 A A1 A2 B1 B1 B2 C C1 希望效果 关健设置
- ylbtech-QQ(腾讯)-群空间-数据库设计
ylbtech-DatabaseDesgin:ylbtech-QQ(腾讯)-群空间-数据库设计 DatabaseName:QQ-群空间 Model:群相册.群共享.群论坛.群成员.留言板.公告.6个模 ...
- hibernate建表 一对多 多的一方控制一的一方
一对多 单向<one-to-many>通过calss操作student 外键在student表中,所以外键由student维护<many-to-one>通过student操作c ...