博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ubuntu16.04 安装 caffe python 接口
阅读量:4493 次
发布时间:2019-06-08

本文共 2888 字,大约阅读时间需要 9 分钟。

前言

这篇笔记记录自己在 Ubuntu16.04 上面安装 CPU 模式  caffe  python 接口流程,备份下来,以便学习。主要参考如下两篇博客,谢谢原作者的分享 ?:

 

1. 安装所需依赖

caffe python 接口依赖 numpy 组件,numpy 的安装可以用 pip 安装,没有安装 pip 的话可以用下面的命令先安装 pip,若提示权限不足,可以前加 sudo,输入管理员密码安装

apt-get install pip

然后用下面命令安装 numpy:

pip install numpy

继续安装其他依赖(这些安装的依赖是照着开头两位博主的教程,未仔细研究每个包的具体作用,后面希望可以研究清楚):

apt-get install libboost-all-devapt-get install libprotobuf-dev apt-get install libleveldb-devapt-get install libsnappy-dev apt-get install libopencv-devapt-get install libhdf5-serial-devapt-get install protobuf-compilerapt-get install libgflags-devapt-get install libgoogle-glog-devapt-get install liblmdb-devapt-get install libatlas-base-dev

 

2. 安装 OpenCV3

我是参考的这篇教程,谢谢原博主的分享 ?

注:根据这篇教程 ,不安装 OpenCV 也不影响 caffe 的安装(若未安装OpenCV,则第三节对 OpenCV 相关配置更改可以不做),因为我之前已安装 OpenCV3,所以此处无法验证,如果有验证过的同学,麻烦留言告知,谢谢?!

 

3. 安装 caffe CPU 版本

先下载 caffe 源码,使用 git 下载,未安装 git 的话,可以使用 apt-get install git 安装。假设 caffe 下载目录为 ~

cd ~ git clone https://github.com/BVLC/caffecd caffecp Makefile.config.example Makefile.config

caffe 原目录下面有个 Makefile.config.example 文件作为编译安装配置的示例,可以基于此文件进行针对性修改,以便在自己的机器上正确安装,下面介绍几点关键的修改地方:

1. 取消对 CPU_ONLY:=1 的注释,如下图(左为修改前,右为修改后):

 

2. 取消对 OPENCV_VERSION:=3 的注释,如下图:

 

3. 对 PYTHON_INCLUDE 的注释和修改

这部分涉及到编译 caffe python 接口时的头文件和库文件。如果安装的是 python2,则修改默认的 PYTHON_INCLUDE,使之为正确的python目录地址:

如果安装的是 python3,则需将 python2 对应的 PYTHON_INCLUDE 注释(也就是上图那部分?),并取消对 python3PYTHON_INCLUDE 注释,同时修改内容。需要注意的时,PYTHON_INCLUDE 的默认头文件位置以及 PYTHON_LIBRARIES 的默认库位置,可能和你的安装位置不一样,需要进行修改;

例如我的 numpy 目录和默认的就不同,同时 libboost_python 版本也和默认的不同,均需要修改。若不清楚 numpy 的目录哪里,可以使用 locate 命令查询得到:

locate -e arrayobject.h

注意上面 PYTHON_LIBRARIES 配置未修改前是 boost_python3, 对编译安装 caffe 无影响,但在安装 python 接口时会提示找不到对应的库,对此我的修改方式是其改为 boost_python35,也可以在 libboost_python35.so 所在目录里创建一个符号链接,命令如下:

ln -s libboost_python35.so libboost_python3.so

boost 的默认安装目录为 /usr/lib 或 /usr/local/lib,根据自己机器的实际情况查询即可;

locate -e libboost_python

 

4. 配置引用文件路径 

改为

即在 INCLUDE_DIRS 后加上 /usr/include/hdf5/serial,在 LIBRARY_DIRS 后加上 /usr/lib/x86_64-linux-gnu/hdf5/serial

 

5. 执行编译安装

make allmake testmake runtest

上述每个步骤执行完会依次显示如下内容(具体内容可能有所不同,没有错误显示,即为安装成功,安装时未能保存截图,此处引用 中的截图作为示例,谢谢原作者的分享)。

注意:如果执行失败,则需要执行 make clean 清理安装,解决问题后再执行安装;

 

4. 编译 python 接口 

 1. 安装 python 接口依赖库

 进入到 caffe 目录下的 python 目录,内有 requirement.txt 文件,列出了依赖的 python 库和版本信息,安装即可;

apt-get install gfortrancd ~/caffe/pythonfor req in $(cat requirements.txt); do pip install $req; done

 

2. 将上面的 python 目录加入到环境变量

编辑 ~/.bashrc 文件

vi ~/.basrc

文件末尾添加

export PYTHONPATH=/dir/to/caffe/python:$PYTHONPATH

 /dir/to/caffe/python 是 caffe 目录下的 python 目录,针对实际情况进行修改即可。

 

3. 更新环境变量配置

ldconfig

有时可能需要关闭当前会话再启动会话以生效。

 

4. 编译 python 接口

cd ~/caffe/make pycaffe

出现错误提示时,通常是 Makefile.config 里面的 PYTHON_INCLUDE 或者 PYTHON_LIBRARIES 配置有误,根据错误提示进行修改,重新编译即可。

 

5. 验证是否安装成功

在 python console 里执行 import caffe,无误则表示 caffe python 接口安装成功;

 

5. 调用 caffe 的 C++ 接口

这部分内容目前还在学习中,希望可以早日学会,分享进步。

转载于:https://www.cnblogs.com/beshining/p/10135762.html

你可能感兴趣的文章
day 7 编码
查看>>
Epicor客户化控件介绍——EpiCombo
查看>>
css
查看>>
自制浮动静态路由实验(简单)
查看>>
JDK和Eclipse的下载路径
查看>>
[DeviceOne开发]-土地销售项目源码分享
查看>>
linux 查看tomcat 日志
查看>>
JavaScript学习笔记
查看>>
复利计算v6.0--web版--软件工程
查看>>
jq 设置 css 多个样式的改变
查看>>
Myeclipse 与 MysqlSQL数据库连接报错-The Server time zone value 'XXXXX' 乱码 is unrecognized......
查看>>
最近有些堕落了~
查看>>
常用的linux系统命令汇总
查看>>
如何开发JAVA的GUI程序
查看>>
使用EnityFramework时,如何将指定字符串用作将连接到数据库的名称或者连接字符串名称...
查看>>
DISPOSE_ON_CLOSE 和 EXIT_ON_CLOSE 的区别
查看>>
es6学习--promise对象
查看>>
hdu1501 动态规划
查看>>
关于Microsoft app下同义词的整理
查看>>
EclipseADT编写单元测试代码的步骤
查看>>