深度学习工具caffe详细安装指南

在一台系统环境较好的linux机器上可以很容易的安装caffe,但是如果系统本身很旧,又没有GPU的话,安装就太麻烦了,所有都得从头做起,本文档旨在尽可能覆盖安装所要采的坑

步骤

01

caffe是主要是C/C++和python编写的。首先,得需要将gcc,g++安装好,通过yum安装就可以。

02

cuda的安装,如果机器上配置了NVIDIA系列GPU,则需要安装该驱动,推荐安装该驱动至7.0版本,推荐同时安装cuDNN。安装可以参考http://blog.csdn.net/xuanyuansen/article/details/43152311,centos系统下类似。

03

caffe的layer开发以google的protobuf为格式,需要安装该依赖,推荐安装2.6.1版本(gcc版本推荐4.4.7),下载地址为https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gz,按照README文件里的步骤安装即可。

04

python安装,caffe提供了python的接口,可以用python进行相关开发,而且可以在ipython-notebook里面画出网络结构,非常方便。为了使用这些功能,推荐在目标机器上编译安装python2.7.10,源码下载地址见python官网,为了多用户环境考虑,强烈建议安装目标用户自己的python,可以在自己用户的home下建立usr文件夹,解压源码后加如下配置命令:

./configure --enable-shared \

--prefix=${HOME}/usr/local \

LDFLAGS=“-Wl,—rpath=${HOME}/usr/local/lib”

make && make install

即需要python的lib文件可以被其他程序共享,rpath后面就是自已的路径。

安装好后需要配置目标用户下的bashrc文件,加入如下行:

PATH=/home/lianhua/usr/local/bin:$PATH

然后source bashrc文件,如果进入python版本正确则安装成功,否则检查路径重新编译。

python安装好后需要安装pip,在官网上下载get-pip.py执行即可,然后安装相应版本的protobuf,同时安装caffe的官方说明安装其他的依赖:

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

05

安装openblas

从openblas官网下下载安装安装包,安装README文件安装就好,make&&make install,可能需要sudo权限。

06

yum依赖安装

参加官方文档http://caffe.berkeleyvision.org/install_yum.html,需要安装上述所有依赖,首先需要安装和系统相应的最新的repository文件,然后执行sudo yum install epel-release,更新站点从而安装最最新的依赖。

07

opencv安装

前置需要安装较新版本的cmake,去官网下载安装即可。

opencv安装有两种方式:

1、下载源码包安装,请参考

http://www.javieriparraguirre.net/installing-opencv-debian/(依赖的安装,centos类似)

http://www.jianshu.com/p/a41da779f763(opencv安装)

2、利用自动脚本安装

地址:https://github.com/jayrambhia/Install-OpenCV

08

caffe安装配置

到此处终于可以进入正题,进行caffe的安装,如果上述安装过程顺利的话,caffe的安装也就没有太大问题了。关键在于正确配置Makefile.config文件,需要修改如下配置至相应的路径(参照配置文件的注释,疑惑的地方google即可):

1、CUDA_DIR

2、BLAS := open,BLAS_INCLUDE :=,BLAS_LIB :

3、PYTHON_INCLUDE :=

注意此处需要添加python下numpy的路径

4、PYTHON_LIB :=

5、WITH_PYTHON_LAYER := 1

注意此处需要将python的hdf5安装路径添加到:

INCLUDE_DIRS := $(PYTHON_INCLUDE)和LIBRARY_DIRS := $(PYTHON_LIB)

上述配置文件修改好后,回到caffe的根目录,执行make all -j4,注意此处进程不要过多,否则会出现诡异的错误;

make test -j4

make runtest -j4

至此caffe主程序编译完毕。

下面编译pycaffe,至执行

make pycaffe

make distribute

执行完后修改bashrc文件,添加

PYTHONPATH=${HOME}/caffe/distribute/python:$PYTHONPATH

LD_LIBRARY_PATH=${HOME}/caffe/build/lib:$LD_LIBRARY_PATH

进入python,import caffe,如果成功则说明一切ok,否则检查路径从头再来,甚至需要重新编译python。

原文发布于微信公众号 - 人工智能LeadAI(atleadai)

原文发表时间:2017-09-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Youngxj

JuiceSSH及图形界面整合

4979
来自专栏移动端开发

iOS 封装.framework 以及使用

.framework是什么? ----       .framework是什么?       这个问题相信做iOS的都知道答案。 在我们的日常开发中,经常会用到...

4976
来自专栏Youngxj

YoungxjTools开源工具箱

答:项目本身支持站内站外跳转,添加新的工具箱,你只需要在网站根目录创建一个文件夹,在文件夹内部就是你的工具箱,只需要在头部插入

92826
来自专栏岑志军的专栏

fastlane实现自动化打包

1822
来自专栏Android先生

20分钟教你使用hexo搭建github博客

备注:该教程基于Hexo 2.x版本,目前Hexo是3.x版本,照本教程实现有可能会出现404错误,笔者目前还未找时间去解决,待笔者找时间解决该问题后,再写一篇...

1142
来自专栏全华班

工作流学习-使用eclipse流程开发

阅读文本大概需要 5 分钟。 我们前文中介绍了Activiti,知道它是目前市面上比较流行的工作流框架。同时也简单指导大家从头开始搭建一下Activit...

3624
来自专栏desperate633

浅谈web开发中的Get和Post方法get和post的区别

在http协议中,实际上有八个http方法。但在实际开发中,绝大多数情况我们只会用到两个方法,就是get和post。所以我们来稍微谈谈两种方法的区别,以及何时应...

1872
来自专栏進无尽的文章

Fastlane| 一句代码完成自动打包发布到蒲公英

第一个选项的意思是:自动截屏。这个功能能帮我们自动截取APP中的截图,并添加手机边框(如果需要的话) 第二个选项的意思是:自动发布beta版本用于TestFli...

1463
来自专栏魏艾斯博客www.vpsss.net

快云小助手网页版 Linux 面板安装过程记录

前几天老魏在快云小助手(快云管理助手)windows 服务器快速部署 web 环境中提到了体验景安快云提供的 web 面板,可以提供简单的服务器管理功能,同时老...

3727
来自专栏沈唁志

宝塔面板Mysql 5.6版本无法正常启动的解决方法

朋友找我的时候说的是 Mysql 启动不了,看他发的截图是宝塔面板,就要来了面板信息去看了一下

1.4K2

扫码关注云+社区