mac 下安装caffe(一)
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... 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 root admin : /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>, /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::: 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. (default, Jul , ::)
[GCC 4.2. Compatible Apple LLVM 8.0. (clang-800.0.)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import caffe as cf
python(,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 , in <module>
File "/Users/work/gitclone/caffe/python/caffe/__init__.py", line , in <module>
from .pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropSolver, AdaDeltaSolver, AdamSolver, NCCL, Timer
File "/Users/work/gitclone/caffe/python/caffe/pycaffe.py", line , 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
mac 下安装caffe(一)的更多相关文章
- mac 下安装caffe(二)
使用Anaconda Python 1.brew edit opencv args << "-DPYTHON_LIBRARY=#{py_lib}/libpython2.7.#{d ...
- Mac 下安装Jenkins
Mac 下安装Jenkins 开始 Jenkins是一个基于Java开发的一种持续集成工具,用于建工持续重复的工作,功能包括: 持续的软件版本发布/测试项目 监控外部调用执行的工作. 近期打算搭建自动 ...
- MAC下安装与配置MySQL
MAC下安装与配置MySQL MAC下安装与配置MySQL 一 下载MySQL 访问MySQL的官网http://www.mysql.com/downloads/ 然后在页面中会看到“MySQL ...
- Mac下安装UPnP Inspector
由于工作中需要用到UPnP Inspector这个工具,而这个工具在windows下安装非常简单,在Mac下安装却很麻烦,在此记录安装流程. 这个工具依赖于两个其他的库:Coherence(一个DLN ...
- Mac下安装Wireshark,双击闪退
Mac OS X上使用Wireshark抓包(http://blog.csdn.net/phunxm/article/details/38590561) Mac下安装Wireshark /Appli ...
- Mac下安装zshell
Mac 下安装zshell 什么是shell 大多数命令行用户接触最多的是Bash,因为Bash是各个版本操作系统(Linux&Mac)的默认shell. 查看当前使用的shell $ ech ...
- 【高可用HA】Apache (1) —— Mac下安装Apache Httpd到自定义路径(非/etc/apache2)
Mac下安装Apache Httpd httpd版本: httpd-2.4.17 参考来源: Tomcat Clustering - A Step By Step Guide Apache HTTP ...
- 《OD大数据实战》mac下安装nginx+php
一.mac安装nginx + php + php-fpm 或apache + php 1. Mac 下 Nginx.MySQL.PHP-FPM 的安装配置 2. Mac下安装LNMP(Nginx+P ...
- Mac下安装HBase及详解
Mac下安装HBase及详解 1. 千篇一律的HBase简介 HBase是Hadoop的数据库, 而Hive数据库的管理工具, HBase具有分布式, 可扩展及面向列存储的特点(基于谷歌BigTabl ...
随机推荐
- 由DB2分页想到的,关于JDBC ResultSet 处理大数据量
最近在处理DB2 ,查询中,发现如下问题.如果一个查询 count(*),有几十万行,分页如何实现 select row_number() over (order by fid desc ) as r ...
- Xilinx FPGA编程技巧之常用时序约束详解
1. 基本的约束方法 为了保证成功的设计,所有路径的时序要求必须能够让执行工具获取.最普遍的三种路径为: 输入路径(Input Path),使用输入约束 寄存器到寄存器路径(Register-to ...
- 三维重建PCL:点云单侧面正射投影
终于把点云单侧面投影正射投影的代码写完了,为一个阶段,主要使用平面插值方法,且只以XOY平面作为的正射投影面.有些凑合的地方,待改进. 方法思路:使用Mesh模型,对每一个表面进行表面重建.借助Ope ...
- Context Switches msdn
Context Switches https://msdn.microsoft.com/en-us/library/ms682105(VS.85).aspx The scheduler mainta ...
- js读写txt文件
view plain<script language="javascript" type="text/javascript"> //读文件funct ...
- 巩固JavaSE基础--IDEA完成实战项目
PS:学习完JavaSE基础后,需要有一个项目来测试自己的学习成果,并加以巩固.所以在这里,就让我们来学习下“一本糊涂账”项目吧.(此项目来源于Java自学网站) 项目完成效果图一览
- swift中使用对象归档进行数据本地
对象归档是ios持久化中的其中一种,也是很常用的一种.现在来看看swift是如何实现的.实现要点1),必须实现NSCoding的协议 import UIKit let path=(NSSearchPa ...
- STL++?pb_ds平板电视初步探索
什么是pb_ds? 除了众所周知的STL库,c++还自带了ext库(应该可以这么叫吧),其中有用pb_ds命名的名称空间(俗称平板电视).这个名称空间下有四个数据类型结构.这些都是鲜为人知的.经过测试 ...
- 瑞芯微ROCK960 RK3399烧录image后扩容rootfs
问题描述: RK3399开发板烧录官网提供的ubuntu镜像: Ubuntu 16.04 Server arm64(下载地址:https://www.96boards.org/documentatio ...
- Linux命令学习(2): scp和rsync基本用法与断点续传
版权声明:本文为博主原创文章,未经允许不得转载. 引子 在平常的工作中,我经常需要在远程服务器和本地之间传输文件. 以前我都使用scp命令,直到今天因为网络中断,scp出现了stalled. 因为上传 ...