设为首页 收藏本站
查看: 1322|回复: 0

[经验分享] mac 下安装caffe(一)

[复制链接]

尚未签到

发表于 2017-7-8 15:15:30 | 显示全部楼层 |阅读模式
1.brew install --build-from-source -vd boost boost-python
这一步出错:libtool: unrecognized option `-static'
编译过程中调用了"libtool" -static -o "xx.a" "xxx.o" 命令进行静态链接。




MERRICKMEI-MB0:/ merrickmei$ brew unlink libtool
Unlinking /usr/local/Cellar/libtool/2.4.6_1... 0 symlinks removed
MERRICKMEI-MB0:/ merrickmei$ which libtool
/usr/local/bin/libtool
MERRICKMEI-MB0:/ merrickmei$ whereis libtool
/usr/bin/libtool
MERRICKMEI-MB0:/ merrickmei$ /usr/local/bin/libtool   -static -o
libtool: unrecognized option `-static'
libtool: Try `libtool --help' for more information.

MERRICKMEI-MB0:/ merrickmei$ /usr/bin/libtool   -static -o
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: missing argument to: -o option
Usage: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool -static [-] file [...] [-filelist listfile[,dirname]] [-arch_only arch] [-sacLT] [-no_warning_for_no_symbols]
MERRICKMEI-MB0:/ merrickmei$ ls -l /usr/local/bin/libtool
-rwxrwxrwx  1 root  admin  280480  2 23 20:20 /usr/local/bin/libtool

可见,/usr/local/bin/libtool不支持-static,而/usr/bin/libtool支持-static选项。
参考:https://github.com/Homebrew/legacy-homebrew/issues/28442



MERRICKMEI-MB0:/ merrickmei$  /usr/local/bin/libtool  --version
ltmain.sh (GNU libtool) 2.2.6b
Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
/usr/local/bin/libtool 是之前自己make install手动编译安装的。
而/usr/bin/libtool 是xcode自带的。
同样make uninstall libtool:
cd libtool-2.2.6b
./configure --prefix=/usr/local  
make
sudo make uninstall
虽然有错误,但是/usr/local/bin/libtool 已经不见了。which libtool,whereis libtool都只显示/usr/bin/libtool
  再次执行brew install --build-from-source -vd boost boost-python 就发现ok了,continue...
  2.Python接口,进入caffe/python目录

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

3.make

Makefile.config中去掉CPU_ONLY := 1的注释
cp Makefile.config.example Makefile.config
make all
make test
make runtest
   make runtest出现绿色RUN OK
  4.pycaffe



MERRICKMEI-MB0:caffe merrickmei$ make pycaffe
CXX/LD -o python/caffe/_caffe.so python/caffe/_caffe.cpp
python/caffe/_caffe.cpp:10:10: fatal error: 'numpy/arrayobject.h' file not found
#include <numpy/arrayobject.h>
  解决:将numpy/arrayobject.h所在的路径/usr/local/lib/python2.7/site-packages/numpy/core/include 添加到
  Makefile.config中的PYTHON_INCLUDE
  PYTHON_INCLUDE := /usr/include/python2.7 \
/usr/lib/python2.7/dist-packages/numpy/core/include\
/usr/local/lib/python2.7/site-packages/numpy/core/include
  再次 make clean,make pycaffe,成功编译。。
  添加caffe到PYTHONPATH

export PYTHONPATH=$PYTHONPATH:/Users/work/gitclone/caffe/python



merrickmei$ python
Python 2.7.10 (default, Jul 30 2016, 19:40:32)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import caffe as cf
python(97549,0x7fffc7e083c0) malloc: *** malloc_zone_unregister() failed for 0x7fffc7dfe000
RuntimeError: module compiled against API version 0xa but this version of numpy is 0x9
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/work/gitclone/caffe/python/caffe/__init__.py", line 1, in <module>
from .pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropSolver, AdaDeltaSolver, AdamSolver, NCCL, Timer
File "/Users/work/gitclone/caffe/python/caffe/pycaffe.py", line 13, in <module>
from ._caffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, \
ImportError: numpy.core.multiarray failed to import
  http://stackoverflow.com/questions/33859531/runtimeerror-module-compiled-against-api-version-a-but-this-version-of-numpy-is






>>> import numpy as n
>>> n.__path__
['/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy']


>>> import sys


>>> sys.path.insert(1, "/usr/local/lib/python2.7/site-packages")



>>> import numpy
>>> print numpy.__path__
['/usr/local/lib/python2.7/site-packages/numpy']
  numpy解决后再import caffe 有碰到错误:

ImportError: No module named skimage.io

因为使用的系统的python,而不是Anaconda Python,决定还是用Anaconda Python
  参考:http://www.tuicool.com/articles/FjAnqin
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-391586-1-1.html 上篇帖子: Mac通过安装Go2Shell实现“在当前目录打开iTerm2” 下篇帖子: NetBean常用快捷键(MAC中)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表