caffe安装指南—吐血整理

前言:

在一台系统环境较好的linux机器上能够非常easy的安装caffe,可是假设系统本身非常旧,又没有GPU的话。安装就太麻烦了,全部都得从头做起,本文档旨在尽可能覆盖安装所要採的坑。

步骤:

一、caffe是主要是C/C++和python编写的。

首先,得须要将gcc,g++安装好,通过yum安装就能够。

二、cuda的安装,假设机器上配置了NVIDIA系列GPU,则须要安装该驱动,推荐安装该驱动至7.0版本号。推荐同一时候安装cuDNN。

安装能够參考http://blog.csdn.net/xuanyuansen/article/details/43152311。centos系统下类似。

三、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文件中的步骤安装就可以。

四、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

五、安装openblas

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

六、yum依赖安装

參加官方文档http://caffe.berkeleyvision.org/install_yum.html,须要安装上述全部依赖,首先须要安装和系统对应的最新的repository文件,然后运行sudo yum install epel-release,更新网站从而安装最最新的依赖。

七、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

八、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可以找到caffe的依赖。

进入python,import caffe。假设成功则说明一切ok,否则检查路径从头再来,甚至须要又一次编译python。

PS:

出问题可一直google,bless。。!

深度学习工具caffe具体安装指南的更多相关文章

  1. 深度学习框架caffe/CNTK/Tensorflow/Theano/Torch的对比

    在单GPU下,所有这些工具集都调用cuDNN,因此只要外层的计算或者内存分配差异不大其性能表现都差不多. Caffe: 1)主流工业级深度学习工具,具有出色的卷积神经网络实现.在计算机视觉领域Caff ...

  2. 基于OpenCL的深度学习工具:AMD MLP及其使用详解

    基于OpenCL的深度学习工具:AMD MLP及其使用详解 http://www.csdn.net/article/2015-08-05/2825390 发表于2015-08-05 16:33| 59 ...

  3. 常用深度学习框——Caffe/ TensorFlow / Keras/ PyTorch/MXNet

    常用深度学习框--Caffe/ TensorFlow / Keras/ PyTorch/MXNet 一.概述 近几年来,深度学习的研究和应用的热潮持续高涨,各种开源深度学习框架层出不穷,包括Tenso ...

  4. 深度学习框架Caffe的编译安装

    深度学习框架caffe特点,富有表达性.快速.模块化.下面介绍caffe如何在Ubuntu上编译安装. 1. 前提条件 安装依赖的软件包: CUDA 用来使用GPU模式计算. 建议使用 7.0 以上最 ...

  5. 深度学习框架-caffe安装-环境[Mac OSX 10.12]

    深度学习框架-caffe安装 [Mac OSX 10.12] [参考资源] 1.英文原文:(使用GPU) [http://hoondy.com/2015/04/03/how-to-install-ca ...

  6. 深度学习框架-caffe安装-Mac OSX 10.12

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ".PingFang SC"; color: #454545 } p.p2 ...

  7. [深度学习工具]·极简安装Dlib人脸识别库

    [深度学习工具]·极简安装Dlib人脸识别库 Dlib介绍 Dlib是一个现代化的C ++工具箱,其中包含用于在C ++中创建复杂软件以解决实际问题的机器学习算法和工具.它广泛应用于工业界和学术界,包 ...

  8. deep learning...深入学习深度学习 --工具篇

    Caffe( http://caffe.berkeleyvision.org/ )是一个清晰而高效的深度学习框架,其作者是博士毕业于UC Berkeley的贾扬清( http://daggerfs.c ...

  9. Windows10 利用 Docker 配置 TensofFlow 深度学习工具

    TensorFlow 这个不用多介绍了吧,大家都知道,Google的开源深度学习软件库,官网点这里:https://www.tensorflow.org/ 当然这个工具官方支持装在 Ubuntu 和 ...

随机推荐

  1. MFC 双缓冲加载背景

    首先定义DCmemDc和Bitmap CDC DCmemDc: CBitmap memBitmap; CBitmap *oldBitmap; 然后创建一个适应当前内存的DCmemDc CDC * dc ...

  2. 快学Scala习题解答—第一章 基础

    1 简介 近期对Scala比较感兴趣,买了本<快学Scala>,感觉不错.比<Programming Scala:Tackle Multi-Core Complexity on th ...

  3. uvalive 6657 GCD XOR

    //感觉太长时间没做题 好多基本的能力都丧失了(>_<) 首先大概是这样的,因为gcd(a,b)=c,所以a,b都是c的倍数,所以我们依次枚举a的值为2c 3c 4c......,a xo ...

  4. linux中ctrl+z、ctrl+d和ctrl+c的区别

    ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样.ctrl+c是强制中断程序的执行,而ctrl+z的是将任务中断,但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态,用户可以使用f ...

  5. Android 捕捉HOME键

    @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_HO ...

  6. #include <string.h>

    1 _memccpy 2 _memicmp 3 _strlwr 4 _strrev 5 _strset 6 _strupr 7 memccpy 8 memchr 9 memcpy 10 memicmp ...

  7. Debug, Release区别

    Debug, Release区别 Debug附加了很多调试信息,主要用于调试,所以文件大 Release就是经过优化的版本,去除了调试信息,进行了代码优化,所以文件较小,同时速度要快于Debug De ...

  8. SQL Server 获取服务器信息

    最近做了一个小工具,里面涉及到一些取SQL Server 服务器信息的一些东西,找了好久,找到一个不错的,贴出来分享. 系统函数 SERVERPROPERTY ( propertyname ) 包含要 ...

  9. 取得正在运行的Activity

    在main.xml中: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns: ...

  10. BZOJ 2186 SDOI2008 沙拉公主的困惑 数论

    题目大意:给定询问组数T和取模数P,每次询问给定两个整数n和m,求1~(n!)的数中与m!互质的数个个数模P (m<=n) 首先T<=1W,暴力肯定过不去,我们须要预处理一些东西 首先我们 ...