一、版本

linux系统:Ubuntu 14.04 (64位)

显卡:Nvidia K20c

cuda: cuda_7.5.18_linux.run

cudnn: cudnn-7.0-linux-x64-v4.0-rc

二、下载

Ubuntu 14.04下载地址:http://www.ubuntu.com/download/desktop (64bit)

cuda7.5下载地址:https://developer.nvidia.com/cuda-downloads/  ,下载对应的操作系统和版本cuda_7.5.18_linux.run,放到~根目录下

cudnn下载址:https://developer.nvidia.com/cudnn, 需要注册,并通过审核才能下载,下载相应文件cudnn-7.0-linux-x64-v4.0-rc.tgz, 放到~根目录下.审核一般一至两天,等不及的同学可到http://pan.baidu.com/s/1bnOKBO 下载

三、开始安装

1、安装ubuntu,此文不关注。

 2、禁用nouveau驱动

按Ctrl+Alt+F1进入命令提示符,新建一个黑名单文件

# sudo vi /etc/modprobe.d/blacklist-nouveau.conf

输入

blacklist nouveau
options nouveau modset=0

保存退出(:wq)

然后执行

# sudo update-initramfs -u

执行 lspci | grep nouveau查看是否有内容

# lspci | grep nouveau

如果没有内容 ,说明禁用成功,如果有内容,就重启一下再查看

# sudo reboot

重启后,进入登录界面的时候,不要登录进入桌面,直接按Ctrl+Alt+F1进入命令提示符。

3、安装cuda 7.5

先安装一些常用的软件,注意整个过程需要联网

# sudo service lightdm stop
# sudo apt-get install g++
# sudo apt-get install git
# sudo apt-get install freeglut3-dev

接下来进入~根据目录安装cuda 7.5

# cd
# sudo sh cude_7.5.18_linux.run

安装的时候,要让你先看一堆文字(EULA),我们直接不停的按空格键到100%,然后输入一堆accept,yes,yes或回车进行安装。

安装完成后,重启,然后用ls查看一下,是否生成了四个左右以nvidia开头的文件夹

# ls /dev/nvidia*

如果有,说明安装成功了,如果没有,可能不成功,需要卸载重装。卸载命令如下:

# sudo /usr/local/cuda-7.5/bin/uninstall_cuda_7.5.pl
# sudo /usr/bin/nvidia-uninstall

如果你还不放心是否安装成功,请参考其它教程,编译Samples进行测试。

最后,配置环境变量,我们直接放在系统配置文件profile里面,先打开profile文件

# sudo vi /etc/profile

在最后面加入两行代码,如果你还不会用vi进行编辑,请百度

export PATH=/usr/local/cuda-7.5/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH

保存退出,至此cuda 7.5安装完毕。

4、安装caffe

先下载caffe

# sudo git clone https://github.com/BVLC/caffe.git

然后安装一堆第三方库

# sudo apt-get install libatlas-base-dev
# sudo apt-get install libprotobuf-dev
# sudo apt-get install libleveldb-dev
# sudo apt-get install libsnappy-dev
# sudo apt-get install libopencv-dev
# sudo apt-get install libboost-all-dev
# sudo apt-get install libhdf5-serial-dev
# sudo apt-get install libgflags-dev
# sudo apt-get install libgoogle-glog-dev
# sudo apt-get install liblmdb-dev
# sudo apt-get install protobuf-compiler

接着,安装opencv

# cd caffe
# sudo git clone https://github.com/jayrambhia/Install-OpenCV
# cd Install-OpenCV/Ubuntu
# sudo sh dependencies.sh
# cd 2.4
# sudo sh opencv2_4_10.sh

接下来,编译caffe

# cd ~/caffe
# sudo cp Makefile.config.example Makefile.config
# make all

至此,caffe安装完成。

5、配置运行环境

caffe运行时需要调用cuda的库,我们在/etc/ld.so.conf.d目录下新建一个cafe.conf文件,将所需要用的库的目录写入

# sudo vi /etc/ld.so.conf.d/caffe.conf

添加内容:

/usr/local/cuda/lib64

保存退出(:wq)

更新配置

# sudo ldconfig

6、测试caffe

下载mnist数据

# cd ~/caffe
# sudo sh data/mnist/get_mnist.sh
# sudo sh examples/mnist/create_mnist.sh

运行时,如果你有GPU,则不需要修改配置文件,如果没有gpu,则需要修改配置文件lenet_solver.prototxt

# sudo vi examples/mnist/lenet_solver.prototxt

将最后一行的solver_mode:GPU改为solver_mode:CPU

配置好后,就可以运行了

# sudo sh examples/mnist/train_lenet.sh

注意,运行caffe程序时,必须在caffe的根目录下,不然会出错

7、安装cudnn进行加速

假设事先已经下载好cudnn-7.0-linux-x64-v4.0-rc.tgz放到~根目录

# cd
# sudo tar xvf cudnn-7.0-linux-x64-v4.0-rc.tgz
# cd cuda/include
# sudo cp *.h /usr/local/include/
# cd ../lib64
# sudo cp lib* /usr/local/lib/
# cd /usr/local/lib
# sudo chmod +r libcudnn.so.4.0.4
# sudo ln -sf libcudnn.so.4.0.4 libcudnn.so.4
# sudo ln -sf libcudnn.so.4 libcudnn.so
# sudo ldconfig

将caffek根目录下 Makefile.config中 USE_CUDNN 行的注释去除,然后重新进行编译。

# cd ~/caffe
# sudo vi Makefile.config

将USE_CUDNN 行的注释符号#去除,即 USE_CUDNN := 1

然后重新编译

# sudo make clean
# sudo make all

到此,全部安装完成。

如果没有gpu,则不能用cudnn。

Caffe学习系列(1):安装配置ubuntu14.04+cuda7.5+caffe+cudnn的更多相关文章

  1. Kubernetes及Dashboard详细安装配置(Ubuntu14.04)

    前些日子部门计划搞并行开发,需要对开发及测试环境进行隔离,所以打算用kubernetes对docker容器进行版本管理,搭建了下Kubernetes集群,过程如下: 本流程使用了阿里云加速器,配置流程 ...

  2. Caffe学习系列(一)Ubuntu16.04下搭建编译Caffe环境,并运行MNIST示例(仅CPU)

    前言: 正文: 1.安装必要依赖包: sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev l ...

  3. 【redis 学习系列】安装-配置-卸载Redis

    一.安装 wget http://download.redis.io/releases/redis-3.0.7.tar.gz tar -zxf redis-.tar.gz ln -s redis- r ...

  4. Caffe学习系列(21):caffe图形化操作工具digits的安装与运行

    经过前面一系列的学习,我们基本上学会了如何在linux下运行caffe程序,也学会了如何用python接口进行数据及参数的可视化. 如果还没有学会的,请自行细细阅读: caffe学习系列:http:/ ...

  5. Caffe 学习系列

    学习列表: Google protocol buffer在windows下的编译 caffe windows 学习第一步:编译和安装(vs2012+win 64) caffe windows学习:第一 ...

  6. DL服务器主机环境配置(ubuntu14.04+GTX1080+cuda8.0)解决桌面重复登录

    DL服务器主机环境配置(ubuntu14.04+GTX1080+cuda8.0)解决桌面重复登录 前面部分是自己的记录,后面方案部分是成功安装驱动+桌面的正解 问题的开始在于:登录不了桌面,停留在重复 ...

  7. Ubuntu14.10+cuda7.0+caffe配置

    转自:http://blog.csdn.net/lu597203933/article/details/46742199 Ubuntu14.10+cuda7.0+caffe配置 一:linux安装 L ...

  8. Caffe学习系列(23):如何将别人训练好的model用到自己的数据上

    caffe团队用imagenet图片进行训练,迭代30多万次,训练出来一个model.这个model将图片分为1000类,应该是目前为止最好的图片分类model了. 假设我现在有一些自己的图片想进行分 ...

  9. Caffe学习系列(22):caffe图形化操作工具digits运行实例

    上接:Caffe学习系列(21):caffe图形化操作工具digits的安装与运行 经过前面的操作,我们就把数据准备好了. 一.训练一个model 右击右边Models模块的” Images" ...

随机推荐

  1. JIRA系统部署推进上线流程

    JIRA介绍: JIRA是集项目计划.任务分配.需求管理.问题跟踪于一体的商业软件.JIRA创建的问题类型包括New Feature.Bug.Task和Improvement四种(可以自己定义),所以 ...

  2. du df 查看文件和文件夹大小

    http://www.cnblogs.com/benio/archive/2010/10/13/1849946.html du -h df -h du -h --max-depth=1 //  查看当 ...

  3. Swift语言实战晋级

    Swift语言实战晋级基本信息作者: 老镇 丛书名: 爱上Swift出版社:人民邮电出版社ISBN:9787115378804上架时间:2014-12-26出版日期:2015 年1月开本:16开页码: ...

  4. MYSQL数据库函数集合

    一.数学函数 ABS(x)   返回x的绝对值 BIN(x)   返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILING(x)   返回大于x的最小整数值 EXP(x)   返回值e( ...

  5. 问题解决——WSAAsyncSelect模型 不触发 FD_CLOSE

    ==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...

  6. netty-socketio使用namespace

    一.简介 netty-socketio中的namespace可以用于区别在相同连接地址下的不同用户,当两个不同的用户打开同一个页面的时候,可以使用namespace用来标记不同用户.例如我们可以在用户 ...

  7. eclipse插件本地扩展安装

    (1)在Eclipse 安装路径下新建links 路径. (2) 在links 文件夹内,建立X X X .link 文件,该文件的文件名可随意,但后缀必须是link ,通常推荐该文件的文件名与插件名 ...

  8. sphinx增量索引

    首先建立一个计数表,保存数据表的最新记录ID CREATE TABLE `sph_counter` (  `id` int(11) unsigned NOT NULL,  `max_id` int(1 ...

  9. URAL 1430 Crime and Punishment

    Crime and Punishment Time Limit:500MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u ...

  10. Maximum Subsequence Sum(接上篇)

    Given a sequence of K integers { N1, N2, ..., NK }. A continuous subsequence is defined to be { Ni, ...