小白MAC下安装Caffe 2019最新血泪史

    历史2天半,度娘了几十次,有一个语法问题咨询了同事,最终完成mac上caffe安装,一路走下来,学习了cmake,make相关命令,学习了brew相关命令,网上有不少caffe安装教程,不过我报的错跟他们几乎没有一样的,不过很多帖子给了我参考意义,为了回馈互联网给我们带来的技术福利,我也把我安装遇到的问题谈一谈,最重要的还是解决问题的思想吧

第一步:按照套路来安装,推荐两个帖子

1.https://blog.csdn.net/mynameisOu/article/details/80153003

2.http://f.dataguru.cn/thread-916065-1-1.html

3.http://manchery.co/archives/241 CUP版本

第二步:解决问题

A:xcode路径着不到,就安装xcode呗

官网慢,那么就可以用百度云下载,最新的xcode我系统也不支持(百度云超级会员速度比较快,着急的话可以花点银子)

https://pan.baidu.com/s/18YCklBYfnc7iyadofgpZzg

B:protobuf一大堆报错

主要参考了:https://blog.csdn.net/phdsky/article/details/80994090

brew uninstall protobuf 这个安装的版本太高,用不起来,下面说下protobuf两个重点

1.安装protobuf 2.6.1 或者3.3的可能可以 可以下载历史版本源码make

2.还要执行下面的脚步使得生效才行,我理解就是重新生成protobuf的python 接口

C opencv主要两点

1.brew uninstall opencv 卸载最新版本

1.通过brew search 搜opencv 使用低版本的好点

2.路径指定(在caffe的配置文件里)

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/local/opt/opencv@2/include

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/local/Cellar/opencv@2/2.4.13.7_2/lib

上面的方案是自己推断出来的,不过参考了xcode配置opencv的思路

https://www.cnblogs.com/pingyang-mei/p/5160195.html

D leaveldb报错

错误信息:/usr/local/include/leveldb/status.h:26:11: error: expected ';' at end of declaration list

leveldb是brew install 下载的,不可能人家有语法错误啊,请教了下同事,说是使用了c++ 11的特性

反正要加一些配置支持该特性,我想可能在mac系统层面或者caffe的某个地方增加配置吧,反正我不知道怎么弄,

那按照前面问题解决的思路,下载老版本brew search leaveldb,遗憾的是没有老版本,那就 brew install https://raw.githubusercontent.com/xxx找到这个类似leavedb的地址,哪里找呢,鬼知道,好在leveldb在github上有源码

,我下载了 leaveldb 1.8.0的zip包(git的话注意切版本),然后make一把,很容易,但是怎么make install啊,这个命令执行

make: *** No rule to make target `uninstall'.  Stop.好在我找啊找,看的这篇帖子http://blog.sina.com.cn/s/blog_560e310001015jfx.html ,原来make install 就是copy一些文件罢了(拓展:如果不copy,增加caffe配置文件中的类似上面的opencv路径是否可以呢)

总算是解决了

安装成功的画面

minist demo画面

F:python编译问题

参考下面的

http://blog.sina.com.cn/s/blog_8d2b2be40102xd19.html

https://blog.csdn.net/lkj345/article/details/51298586

https://blog.csdn.net/feitongxunke/article/details/51388212

综合上面的帖子看,还是python版本混乱导致的

/usr/bin/python2.7

Python 2.7.10 (default, Oct 6 2017, 22:29:07)

/usr/local//bin/python

Python 2.7.16 (default, Mar 4 2019, 09:02:22)

解决方案(主要两两个需要配置正确):

PYTHON_INCLUDE := /usr/include/python2.7 \

/usr/local/lib/python2.7/site-packages/numpy/core/include

PYTHON_LIB := /usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib

重点信息:

这个就是需要修改的地方,其中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。

很明显有问题,为啥Libraries还是2.7.10,和Interpreter版本根本不匹配,照理说我在Makefile.config修改了应该生效呀。这里先不管了,我直接修改build/CMakeCache.txt吧。

注意:现在caffe没有要cmake,在CMakeCache.txt文件为也没有找到什么需要修改的

发布了442 篇原创文章 · 获赞 77 · 访问量 100万+

猜你喜欢

转载自blog.csdn.net/rnZuoZuo/article/details/89277381
今日推荐