1、前置条件验证

(1) Ubuntu14.04操作系统。

(2) 检验计算机是否为NVIDIA显卡,终端输入命令

$ lspci | grep -invidia 

(3) 检验计算机是否为x86_64架构(x86架构64位系统),终端输入命令

$ uname -m && cat /etc/*release 

(4) 安装gcc,并检查gcc版本是否大于4.6,Ubuntu14.04默认版本为4.8,终端执行下述命令安装即可

$ sudo apt-get install g++

终端输入命令检查版本信息

$ gcc–version

(5) 安装gfortran(编译OpenBLAS使用),终端执行

$ sudo apt-get install gfortran

(6) 常用链接

NVIDIA相关网站https://developer.nvidia.com/cuda-tools-ecosystem

获取计算机GPU(显卡)信息,与下面链接提供的GPU型号进行比对,若型号存在与列表则说明计算机显卡支持CUDA架构

GPU验证链接https://developer.nvidia.com/cuda-gpus

严格考虑计算机的GPU对CUDA Toolkit不同版本(特指高版本)的支持性问题

(比如,若GPU为TITAN X GPU,建议考虑下载CUDA 7.0)

CUDAToolkit7.0下载链接https://developer.nvidia.com/cuda-toolkit-70#linux

2、CUDA配置

(1) MD5校验

下载完成后,对文件进行MD5校验以run文件为例(这很重要),与下列链接对应版本MD5值比对,终端输入命令

$ md5sum filename

若值不一致则需重新下载。

校验链接http://developer.download.nvidia.com/compute/cuda/7_0/Prod/md5sum-7.0.txt

以下cuda安装选用一个即可,其中deb文件安装较简单但对网络稳定要求较高,run文件安装比较稳定。

一些依赖库

$ sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev

其中build-essential包包含make,gcc,gfortran。

(2)CUDA库安装

第一种方式,用deb文件安装

$ sudo dpkg -i cuda-repo-ubuntu1410---local_7.-28_amd64.deb
$ sudo apt-get update
$ sudo apt-get install -y cuda

完成添加环境变量即可,参见下run安装⑥

第二种方式,用run文件安装

①卸载原先安装的所有NVIDIA显卡驱动,命令

$ sudo apt-get --purge remove nvidia*

② Ubuntu默认安装了开源显卡驱动nouveau其在nvidia驱动安装过程中会有冲突,所以要禁用它创建文件

$ sudo vim /etc/modprobe.d/blacklist-nouveau.conf

写入

blacklist nouveau

options nouveau modeset=

可以用cat命令检查,写入无误后执行

$ sudo update-initramfs–u

修改grub相关项

$ sudo vi/etc/default/grub

末尾写入:

rdblacklist=nouveau nouveau.modeset=

保存并退出\检查:

$ cat /etc/default/grub

③测试nouveau是否被禁用

a.重启之后明显感觉画质变差

b.执行

$ lsmod | grep nouveau

如果显示为空,那么就是卸载成功了。

④关闭计算机,重启,这里若出现无法进入桌面的问题(一般是因为安装了opengl与cuda冲突引起),重启,在当进入grub选择菜单时,按下e键,弹出新窗口后,在所在文字后几行找到quiet splash改为text splash,按下F10,即可直接进入命令行模式,登录后再执行上述命令验证。

以下操作建议用root权限

⑤找到所下载的CUDA包,赋予可执行权限

$ chmod +x *.run

安装命令

$ ./ md5sum cuda_7..28_linux_64.run

出现服务条款按Enter间继续,阅读完后接受条款,下载的CUDA包实际包含CUDA安装包、SAMPLE包、NVIDIA驱动,选择对应项安装(建议默认安装),记录下安装目标路径

当执行cuda.run文件提示有关kernel错误时尝试执行命令

$ sudo apt-get install linux-headers-$(uname -r)

⑥安装完成后在/etc/profile中添加环境变量, 文件最后添加:

export PATH=/usr/local/cuda-7.0/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/cuda-7.0/lib64:$LD_LIBRARY_PATH

保存,执行

# source /etc/profile

使环境变量立即生效

在目录/etc/ld.so.conf.d/中加入文件 cuda.conf, 内容如下

/usr/local/cuda/lib64

编辑文件/etc/ld.so.conf

# vim /etc/ld.so.conf

添加

/usr/local/lib

执行命令使之立即生效

# sudo ldconfig

执行

# cat /proc/driver/nvidia/version

检验驱动程序已正确安装

⑦编译CUDA Sample
进入文件夹执行
# cd /usr/local/cuda-7.0/samples
# make

编译完成后,进入 samples/bin/x86_64/linux/release,运行deviceQuery,若输出显卡相关信息就说明安装成功。

# ./deviceQuery

# ./bandwidthTest

3、OpenBLAS安装

以下本人滥用一下符号,用//表示注释(shell注释为#),以避免和linux管理员提示符#歧义。

终端执行

$ sudo make   &&  sudo make install
//make CC=gcc-4.8.2 FC=gfortran(自动探测)
//make PREFIX=/your/path install(安装路径,做好记录,建议默认/opt/openblas)                

编辑文件/etc/ld.so.conf添加

/opt/OpenBLAS/lib

执行命令使之立即生效

$ sudo ldconfig

4、OpenCV安装

可以使用OpenCV安装脚本,下载链接https://github.com/jayrambhia/Install-OpenCV找到对应版本赋予可执行权限,执行即可,安装需要半小时左右,可能出现卡机现象,等待即可。(2.4.9版本编译15%左右会有错误,原因正在查找,使用2.4.10)

5、boost库 配置

下载地址http://sourceforge.net/projects/boost
解压安装,执行命令
$ tar -zxvf boost_1_59_0.tar.gz
$ cd boost_1_59_0/

$ ./bootstrap.sh  //这个命令大概用于配好环境
运行二步命令后得到一个文件,名字是bjam,运行这个文件:
$ ./bjam    //这里需要二十分钟左右

6、Python 库依赖

相关Python库,类似与使用以上库的一些相关驱动

$ sudo apt-get install -y libprotobuf-dev   libleveldb-dev   libsnappy-dev libopencv-dev   libboost-all-dev   libhdf5-serial-dev

$ sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

建议提前安装python库scipy,numpy和python-dev以及pip setuptools

进入caffe-master/python查看requirements.txt,所需库均已在此文件中其中,安装matplotlib之前有相关依赖freetype、libpng(前置依赖zlib)、scipy、numpy。执行

$ sudo pip install –r caffe-master/python/ requirements.txt

一些依赖包不能正常安装(要求连上Google),网上一些教程执行一下命令安装(建议分开执行,以便发现哪个安装出错,未成功安装的单独用源码编译安装)

源码安装采用方案如下,当独下载对应依赖包,按下述方式执行(举例,一般仅要单独安装glog即可,其他未出现错误(若出错可以试试更换网络连接,非校园网情况下未出错))。

glog, gflags, protobuf,leveldb, snappy, hdf5, lmdb参看下载包中README.md文件或INSTALL.txt 文件

以下安装过程严格注意版本要求(参见requirements.txt文件)

(1) glog(google Logging Library)

下载地址:https://code.google.com/p/google-glog/

$ tar xvzf glog-.tar.gz

$ ./configure

$ make

$ sudo make install

(2) protobuf

下载地址https://code.google.com/p/protobuf/downloads/list

配置参考地址http://blog.csdn.net/zaitianaoxiang/article/details/7639125

$ tar -xvzf protobuf-.tar.gz 

$ cd protobuf- 

$ ./configure --prefix=/opt/protobuf    //可自己选择目录

$ sudo make

$ sudo make check 

$sudo make install

配置环境变量(修改/etc/profile)

$ sudo vim /etc/profile

加入以下部分

PROTOBUF_HOME=/opt/protobuf

PROTOBUF_PKG_CONFIG_PATH=${PROTOBUF_HOME}/lib/pkgconfig

export data-path="${PATH}:${PROTOBUF_HOME}/bin:"

exportPKG_CONFIG_data-path="${PKG_CONFIG_PATH}:${PROTOBUF_PKG_CONFIG_PATH}"

在~/.profile中添加上面两行export代码,否则上面两行export不会生效。

执行命令使环境变量立即生效

$ sudo source /etc/profile

动态链接库路径

$ sudo vim /etc/ld.so.conf

添加这行

/opt/protobuf/lib

为了让动态链接库修改生效

$ sudo ldconfig

ldconfig命令的作用见

http://www.xxlinux.com/linux/article/accidence/technique/20081230/14754.html

(3) leveldb

下载链接http://download.csdn.net/download/cl_gamer/4847996

参考链接http://blog.sina.com.cn/s/blog_560e310001015jfx.html

参考链接http://peter-hoffmann.com/2011/installation-leveldb-ubuntu-python.html

照教程做会编译报错/usr/bin/ld: cannot find –lleveldb,需要把对应的so文件拷贝过去libleveldb.so到/usr/local/lib 下

(4) gflags

下载链接   https://github.com/schuhschuh/gflags/releases

解压,打开INSTALL.txt 按照教程做

7、cuDNN配置

官方安装导引及下载链接

https://developer.nvidia.com/rdp/cudnn-download?sid=973300

一般流程为如下

下载cudnn解压,执行拷贝

$ sudo cp cudnn.h /usr/local/include

$ sudo cp libcudnn.so /usr/local/lib

$ sudo cp libcudnn.so.7.0 /usr/local/lib

$ sudo cp libcudnn.so. /usr/local/lib

链接cuDNN的库文件

$ sudo ln -sf /usr/local/lib/libcudnn.so.  /usr/local/lib/libcudnn.so. 7.0

$ sudo ln -sf /usr/local/lib/libcudnn.so. 7.0 /usr/local/lib/libcudnn.so

$ sudo ldconfig -v

8、Caffe配置

(1) 准备

下载caffe-master 源码包,解压,进入目录caffe-master(注意,以下所有过程都在此目录下执行,往后使用caffe的过程中也得在此目录执行相关操作),执行

  $ cp Makefile.config.example Makefile.config    

以生成Makefile.config配置文件

修改Makefile.config一定要记得改各依赖库的路径LIBRARY_PATH

配置Makefile.config文件(仅列出修改部分)

启用CUDNN,反注释,去掉"#"

USE_CUDNN := 

②启用GPU,去掉注释"#"

# CPU_ONLY := 

③启用OpenBLAS

BLAS :=open

(2) 编译caffe

"-j8"是使用CPU的多核进行编译,可以极大地加速编译的速度,建议使用,不能弄过多线程,会出错,4和8合适。  

$ make all -j8

$ make test -j8

$ make runtest -j8

建议:在make前,可以用之前的./bandwidthTest等命令测试驱动是否正常

(3) Pycaffe配置

$ make pycaffe

添加环境变量,编辑修改/etc/profile

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

同样,执行 source /etc/profile使环境变量立即生效

在python中import caffe 检查是否正确,此时caffe可作为python的一个库使用。

(4) Python IDE

建议用ipython notebook

$ sudo pip install jupyter

$ sudo apt-get install -y ipython-notebook pandoc

终端执行jupyter notebook启动,可指定启动后的HOME目录,如

$ jupyter notebook caffe-master

Ubuntu14.04 caffe 配置的更多相关文章

  1. faster-rcnn(testing): ubuntu14.04+caffe+cuda7.5+cudnn5.1.3+opencv3.0+matlabR2014a环境搭建记录

    python版本的faster-rcnn见我的另一篇博客: py-faster-rcnn(running the demo): ubuntu14.04+caffe+cuda7.5+cudnn5.1.3 ...

  2. py-faster-rcnn(running the demo): ubuntu14.04+caffe+cuda7.5+cudnn5.1.3+python2.7环境搭建记录

    第一次写博客,以此纪念这几天安装caffe,跑faster-rcnn的血泪史.在此特别感谢网络各路大神,来自全球各地,让我能从中汲取营养,吸取经验,总结规律. faster-rcnn分为matlab版 ...

  3. Ubuntu14.04安装配置ndnSIM

    Ubuntu14.04安装配置ndnSIM 预环境 Ubuntu14.04官方系统 请先使用sudo apt-get update更新一下源列表 安装步骤 安装boost-lib sudo apt-g ...

  4. Ubuntu14.04安装配置SVN及Trac

    还是个实习生的时候,项目管理十分欠缺,会出现很多问题,痛定思痛,决定要改变现状,养成良好的项目管理习惯,看网上工具很多,在这里尝试使用SVN作代码版本控制,使用trac作为项目管理追踪.本文采用的操作 ...

  5. Ubuntu14.04+caffe+cuda7.5 环境搭建以及MNIST数据集的训练与测试

    Ubuntu14.04+caffe+cuda 环境搭建以及MNIST数据集的训练与测试 一.ubuntu14.04的安装: ubuntu的安装是一件十分简单的事情,这里给出一个参考教程: http:/ ...

  6. Ubuntu14.04.6配置阿里源

    Ubuntu14.04.6配置阿里源 这两天上手 Ubuntu 系统,因为公司用的是 14.04.6 版本,所以有了一些踩坑记录. 起因是安装完系统我需要安装一个搜狗输入法,过程得安装 fcitx,需 ...

  7. 在ubuntu14.04上配置cuda_caffe_cudnn_anaconda_digits

    参考网上的很多网站,以这篇为主:http://blog.csdn.net/yhl_leo/article/details/50961542 这篇算是自己对caffe学习的一个总结系列的开头.首先因为c ...

  8. ubuntu14.04 caffe

    1.显卡驱动 ubuntu nvidia 940m 使用sudo ubuntu-drivers devices 查看推荐的驱动版本 //sudo add-apt-repository ppa:mama ...

  9. Ubuntu14.04安装配置web/ftp/tftp/dns服务器

    目录: 1.安装ftp服务器vsftpd --基于tcp,需要帐号密码 2.安装tftp服务器tftpd-hpa,tftp-hpa --udp 3.web服务器--使用Apache2+Mysql+PH ...

随机推荐

  1. Python builtins

    >>> dir (__builtins__) ['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseExcepti ...

  2. idea系列新版注册模式

    http://idea.qinxi1992.cn/ 楼上被列入黑名单,用 http://114.215.133.70:41017/

  3. HDU2490 parade

    题目大意:一个n+1行m+1列的表格,每个格子两个数w和c,表示经过该格子的happy和体力消耗值tireness.现在从最下面任意处开始,可以向左向右向上走.但不能向下.每个格子不能经过两次.在每一 ...

  4. ORA-04031案例一则

    ORA-04031这个错误,几乎每一个专业的DBA都遇到过.这是一个相当严重的错误,Oracle进程在向SGA申请内存时,如果申请失败,则会报这个错误.大部分情况下是在向SGA中的shared poo ...

  5. PHP多线程

    #### 方案一: PHP 5.3 以上版本,使用pthreads PHP扩展,可以使PHP真正地支持多线程.多线程在处理重复性的循环任务,能够大大缩短程序执行时间.我之前的文章中说过,大多数网站的性 ...

  6. [实变函数]5.3 非负可测函数的 Lebesgue 积分

    本节中, 设 $f,g,f_i$ 是可测集 $E$ 上的非负可测函数, $A,B$ 是 $E$ 的可测子集.       1 定义: (1) $f$ 在 $E$ 上的 Lebesgue 积分      ...

  7. vim使用快捷键

    vim使用快捷键 索引 1. 关于Vim 1.1 Vim的几种模式 2. 启动Vim 3. 文档操作 4. 光标的移动 4.1 基本移动 4.2 翻屏 4.3 标记 5. 插入文本 5.1 基本插入 ...

  8. Eclipse内置Tomcat的配置

    1.首先肯定是得下载J2EE版本的eclipse了,再去Apache Tomcat的官网去下一个Tomcat.都解压到自己想放的目录 2.Eclipse -> Preferences -> ...

  9. linux命令行下导出导入.sql文件

    一.导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):1.导出数据和表结构(以管理员身份运行): ------------------------------------ ...

  10. iOS 加入自定义字体方法

    1.网上搜索字体文件(后缀名为.ttf,或.odf) 2.把字体库导入到工程的resouce中 3.在程序添加以下代码 输出所有字体 NSArray *familyNames = [UIFont fa ...