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. QT显示中文的几个问题

    最近用QT,需要在界面上显示中文,发现QT无法直接在代码中写中文,只能通过曲线救国的方式,比如用QT语言家,QTextCodec的fromloca8bit 研究了半天,终于明白了一些编码的问题 1.V ...

  2. 通过[蜘蛛协议]Robots.txt禁止搜索引擎收录的方法

      什么是robots.txt文件? 搜索引擎通过一种程序robot(又称spider),自动访问互联网上的网页并获取网页信息. 您可以在您的网站中创建一个纯文本文件robots.txt,在这个文件中 ...

  3. 无法找到类:java.lang.ClassNotFoundException: com.tt.javaweb.HttpServletRequest问题解决

    问题如下:找不到Httpservlet对应的Class,进入build目录下发现确实没有对应的class文件. 严重: Allocate exception for HttpServletReques ...

  4. 我的Android最佳实践之—— 解决闪空界面问题

    进入应用时,由于应用的启动Activity都会有默认的theme,所以会跳一下原始界面,才启动我们定义的theme. 修改这个问题的方法,就是给应用启动的Activity设置一个空的theme.如下面 ...

  5. 黄聪:Emeditor 编辑器常用的正则表达式

    Emeditor 目前来说是我个人感觉非常不错的一款记事本软件, 其中查找替换功能由于支持正则表达式而显得非常强大. <tr[^>]*> 匹配:<tr xxxxxxxxxxxx ...

  6. CF 161D Distance in Tree 树形DP

    一棵树,边长都是1,问这棵树有多少点对的距离刚好为k 令tree(i)表示以i为根的子树 dp[i][j][1]:在tree(i)中,经过节点i,长度为j,其中一个端点为i的路径的个数dp[i][j] ...

  7. git(5) windows下 pycharm + git(github) ,在本地方便管理

    本篇博客讲解一下,windows下如何在pycharm下使用git(使用github设置和git一样),在本地进行commit,push,pull等操作 优点:简单,方便 pycharm版本:5.0. ...

  8. mysql西文字符大小写重复键问题的解决方法

    ä和a插入到唯一键时总提示重复 总提示:Duplicate entry 'a' for key 'name' 后来发现我用的COLLATE是utf8_general_ci,改为utf8_bin即可,命 ...

  9. 转--2014年最新810多套android源码2.46GB免费一次性打包下载

    转载自:http://www.eoeandroid.com/thread-497046-1-1.html 感谢该博客主人无私奉献~~ 下面的源码是从今年3月份开始不断整理源码区和其他网站上的安卓例子源 ...

  10. 转--Android:TextView属性大全

    android:autoLink 设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接.可选值(none/web/email/phone/map/all) android ...