原文地址:http://blog.csdn.net/s2392735818/article/details/49796017
 

版权声明:本文为博主原创文章,未经博主允许不得转载。

很无奈的开个头,最近装了好几次caffe,前面由于没有记录完整而详细的过程,以致于这次安装的过程中除了很多问题,现在特此留博客一篇记录一下细节的部分,免得下次继续入坑。

首先列一下本文档下适合的环境,和已经成功安装的环境。

  • 显卡:Telsa k20c/Quadro k5000
  • 系统:Centos7

好了,下面就是具体的步骤了:


安装依赖

Ubuntu用户参考http://caffe.berkeleyvision.org/install_apt.html 
OS X用户参考http://caffe.berkeleyvision.org/install_osx.html

REHL/Centos/Fedora用户参考以下步骤:


  1. 安装基础依赖

    sudo yum install protobuf-devel leveldb-devel snappy-devel OpenCV-devel boost-devel hdf5-devel

  2. 其他依赖

    sudo yum install gflags-devel glog-devel lmdb-devel


如果发现没有找到上面的包,可以采用手动安装的方法,系统需要提前装好最新的cmake版本,我装的是3.4.0版本。 
cmake版本传送cmake3.4.0二进制版本 
cmake的配置过程可以参考Centos6.3安装配置cmake

接下来就可以手动安装glog,gflags,lmdb了


  1. glog

    wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz 
    tar zxvf glog-0.3.3.tar.gz 
    cd glog-0.3.3 
    ./configure 
    make && make install

  2. gflags

    wget https://github.com/schuhschuh/gflags/archive/master.zip 
    unzip master.zip 
    cd gflags-master 
    mkdir build && cd build 
    export CXXFLAGS=”-fPIC” && cmake .. && make VERBOSE=1 
    make && make install

  3. lmdb

    Git clone https://github.com/LMDB/lmdb 
    cd lmdb/libraries/liblmdb 
    make && make install

  4. protobuf重要

    安装步骤请参考 http://blog.csdn.net/tdmyl/article/details/31811317

  5. hdf5安装

    hdf5安装请查看官方文档 
    http://www.hdfgroup.org/HDF5/release/obtainsrc.html#src

  6. leveldb安装 

    leveldb下载请见https://github.com/google/leveldb 
    安装请见http://blog.sina.com.cn/s/blog_560e310001015jfx.html 
    缺失的步骤: 
    leveldb文件夹下依次执行 
    make 
    cd out-shared 
    cp lib* /usr/local/lib


切记,上述依赖需要安装到/usr/local下面的目录,否则编译时会提示找不到相关库文件。当然也可以配置到用户自定义的目录下面,不过没有尝试过。 前方高能!!接下来就是一些稍大型的安装动作了,步骤如下:

  1. NVIDIA驱动,驱动文件请于官方链接自行下载NVIDIA驱动下载

    1、下载完成后,设置系统为命令行启动systemctl set-default multi-user.target 
    2、重启系统,切换到root模式 
    3、设刚才下载的文件名为nvidia.run,接下来执行sh nvidai.run,应该会出现几个提示,选择accept或者yes。出现这一步的原因是系统没有禁用Nouveau驱动,现在安装nvidia驱动的过程中会帮助用户禁用Nouveau 驱动,之前参照网上的一些帖子禁用Nouveau 均不成功,所以只有这种方法了。 
    4、使用 dracut重新建立 initramfs image file :

    • 备份 the initramfs file 
      mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
    • 重新建立 the initramfs file 
      dracut -v /boot/initramfs-$(uname -r).img $(uname -r)

    5、再次重启系统,如果字体变大了,就说明Nouveau禁用成功,然后就可以继续安装Nvidia驱动了 
    6、成功安装Nvidia驱动后,再次将系统设置为图形模式,systemctl set-default graphical.target,重启系统就可以正常进入图形界面了。

    也可以参考这篇文章CentOS 7.0安装Nvidia驱动

  2. CUDA7.5自行下载CUDA下载链接

    建议下载runfile类型的文件,后缀名为.run 
    下面就可以使用sh cuda*.run执行安装步骤,安装时需要输入几个参数

    • 1、是否安装Nvidia驱动,选no
    • 2、安装cuda的位置,我输入的是/usr/local/cuda-7.5
    • 3、是否创建cuda的快捷方式,我选择的是yes
    • 4、是否创建cuda-samples,我输入的是/usr/local/cuda-samples
    • 5、是否安装OpenGL,选择是,这个过程也算是安装了OpenCV
    • 6、接下来就安装成功了
  3. OpenBLAS安装OpenBLAS下载链接

    下载后,解压,然后安装。 
    或者可以使用我用的版本,OpenBLAS–楼主使用的版本 
    然后执行下面的指令 
    tar -xzvf OpenBLAS.tar.gz 
    make 
    make --PREFIX='usr/local/' install 
    上述步骤只做参考,实际操作过程可能会存在部分差异,安装的时候注意一下就行 
    若在caffe编译的时候出现/usr/bin/ld: cannot find -lopenblas 
    请在openblas编译文件夹下执行cp lib* /usr/local/lib即可

  4. Anaconda

    官方下载链接Anaconda下载链接 
    楼主下载链接Anaconda下载链接 
    接下来直接执行sh anaconda.sh就行,安装过程自己领会


接下来就是最终的caffe配置过程了,caffe的github地址为https://github.com/BVLC/caffe 
将工程文件拷贝到本地后,执行

cp Makefile.config.example Makefile.config 
vim ./Makefile.config 
修改CUDA_DIR :=/usr/local/cuda-7.5 (按照个人之前安装cuda的路径进行配置) 
修改BLAS := open 
修改BLAS_INCLUDE,BLAS_LIB为安装路径 
保存(如果用户显卡不够用,可以去除前面的CPU_ONLY :=1前面的注释符号”#”,表示只使用CPU做运算)

接下来就可以正常的执行

make all 如果编译速度慢,可以使用make all -jN (N为核心处理器的个数) 
make test 对编译结果进行测试

下面需要对用户根目录下的.bashrc文件进行编辑,加载一些动态库

vim ~/.bashrc 
文本最后加入 
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-7.5/lib64 
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/glog/lib 
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

最后再次进入caffe目录,执行make runtest,喝杯茶,等一会,就结束了。

上述过程是安装caffe最基础的步骤,如果需要加速cuDNN,Matlab,等扩展文件,可以参考 
http://www.cnblogs.com/platero/p/3993877.html

教程到此结束,如有纰漏请指正。谢谢。未经允许,不准转载,谢谢配合。

[转]Centos7下caffe的安装的更多相关文章

  1. centos7下使用yum安装mysql

    CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1. 下载mysql的repo源 wget http://repo.mysql.com/m ...

  2. [转]linux14.04下caffe的安装步骤

     linux14.04下caffe的安装步骤   原文地址:http://blog.csdn.net/xiaoyang19910623/article/details/52997481?locatio ...

  3. centos7下搜狗输入法的安装教程

    相信用过centos自带的输入法的朋友都会感叹这也实在是太难用了吧,使用拼音打出来的词总是不能在前几个匹配到,即使是一些常用词也是如此,简直无法忍受跟个zz似的.吐槽完了,这里给出centos7下搜狗 ...

  4. centos7下使用yum安装pip

    centos7下使用yum安装pip 首先安装epel扩展源: yum -y install epel-release 更新完成之后,就可安装pip: yum -y install python-pi ...

  5. Centos7 下的SVN安装与配置

    Centos7 下的SVN安装与配置 1.关闭防火墙 临时关闭防火墙 systemctl stop firewalld 永久防火墙开机自关闭 systemctl disable firewalld 临 ...

  6. CentOS7 下源码安装 python3

    CentOS 7 下源码安装 python3   在CentOS7下,默认安装的是python2.7:为满足项目要求,安装python3 的方法如下:   1. 首先安装python3.6可能使用的依 ...

  7. CentOS7下RabbitMQ服务安装配置

    参考文档: CentOS7下RabbitMQ服务安装配置 http://www.linuxidc.com/Linux/2016-03/129557.htm 在linux下安装配置rabbitMQ详细教 ...

  8. centos7下使用yum安装redis

    centos7下使用yum安装Redis 第一步:安装 yum –y install redis 第二步:启动 systemctl start redis.service 第三步:设置开机启动 sys ...

  9. CentOS7下NFS服务安装及配置固定端口

    CentOS7下NFS服务安装及配置 系统环境:CentOS Linux release 7.4.1708 (Core) 3.10.0-693.el7.x86_64 软件版本:nfs-utils-1. ...

随机推荐

  1. AngularJS 2 VS Code Linter环境设置

    Angular Cli npm install -g angular-cli https://www.npmjs.com/package/angular-cli TSLinter 1.1 ext in ...

  2. Redis的介绍和常用数据类型结构命令的总结

    我们先来看一下redis的一个定义,来自官方的: Redis is an open source, BSD licensed, advanced key-value store. It is ofte ...

  3. css响应有media,js响应有这种

    比如,我不想在移动端执行某js特效可以参考(function(doc, win) { var screenWidth = 0, size = 'M', root = doc.documentEleme ...

  4. Codeigniter

    最近准备接手改进一个别人用Codeigniter写的项目,虽然之前也有用过CI,但是是完全按着自己的意思写的,没按CI的一些套路.用在公众的项目,最好还是按框架规范来,所以还是总结一下,免得以后别人再 ...

  5. php 之跨域上传图片

    因为要将所有上传的图片上传到一台独立的图片服务器上面,js上传时存在跨域问题,网上找到这种,通过php curl方式,将图片重新发送到另外一台服务器上保存,并返回图片路径!这种方式存在一定问题:1,上 ...

  6. Entity Framework走马观花之把握全局 (转)

    上一篇<Entity Framework技术导游系列开篇与热身 > ========================================= 在深入学习某项技术之前,应该努力形成 ...

  7. 宏碁台式机,如何设置u盘启动

    1.按delete进入BIOS2.Authentication->Secure Boot状态改为Disabled;Boot Options->Launch CSM状态改为Always;Bo ...

  8. RequireJS基础(三)

    这篇来写一个具有依赖的事件模块event. event提供三个方法bind.unbind.trigger来管理DOM元素事件. event依赖于cache模块,cache模块类似于jQuery的$.d ...

  9. 非正常关闭myeclicps后,出现错误Errors occurred during the build.的解决方法

    我的myeclicps是10.7版本由于非正常关闭,在启动tomcat时候出现了问题. 解决法案: 1.关闭myeclicps. 2.打开你的myeclicps的工作空间(workspace自己设置的 ...

  10. 循序渐进Python3(十)-- 4 -- paramiko

    paramiko模块,基于SSH用于连接远程服务器并执行相关操作. 使用 (1)SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: , ))transport.connect( ...