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 ...
随机推荐
- 如何使用 EXCEL 的筛选功能
假设有一个Excel文档,有两列“姓名”和“成绩”. 现需筛选出成绩 “大于等于90”或者“小于60”的学生. 步骤如下: 1.选中任意一个单元格,点击工具栏上的 数据 - 筛选 - 自动筛选 ,可以 ...
- allegro下快捷键设置[转贴]
zz : http://yuandi6.blog.163.com/blog/static/207265185201210245435397/ 修改变量文件,设置自定义快捷键. Allegro可以通过修 ...
- javascript callback函数的理解与使用
最近做的一个项目中用到了callback函数,于是就研究了下总结下我对javascript callback的理解 首先从callback的字面翻译“回调” 可以理解这是一个函数被调用的机制 当我们遇 ...
- 【转】对Android开发者有益的40条优化建议
下面是开始Android编程的好方法: 找一些与你想做事情类似的代码 调整它,尝试让它做你像做的事情 经历问题 使用StackOverflow解决问题 对每个你像添加的特征重复上述过程.这种方法能够激 ...
- oracle数据导入的常用命令
oracle 中数据库完全导入导出:cmd命令行模式 oracle数据库cmdfile数据库服务器constraints Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.ex ...
- laravel/laravel和laravel/framework有何区别?
在安装laravel的时候,我们一般是download github上的laravel/laravel,随后执行composer install,在这个过程中,你会发现composer其中的一项工作是 ...
- 用FireMonkey写QQ皮肤
这是运行在Windows平台的效果,同样不需要改一行代码就可以运行在Mac Os,并且效果完全相同: 用FireMonkey做界面速度非常快,其提供的Effect ,Filter,Animation等 ...
- JavaScript——new Date().getMonth()
new Date().getMonth(); 说明:参照现在的月份,getMonth()返回的是0-11的数字,也就是说0=1月,1=2月……11=12月 当前的月份就是,new Date().get ...
- singleton单例模式
单例设计模式 单例设计模式概述 单例模式就是要确保类在内存中只有一个对象,该实例必须自动创建,并且对外提供 优点: 在系统内存中只存在一个对象,因此可以解决系统资源,对于一些需要频繁 ...
- 【英语】Bingo口语笔记(63) - 一个单词的多种发音