一、版本

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. 使用网站websequencediagrams在线画时序图

    在线画时序图的网站:https://www.websequencediagrams.com/ 该网站提供拖拉图形和编写脚本代码2个方式来制作时序图,同时提供多种显示风格. 实例: 1.脚本代码: ti ...

  2. (Ios 实战) 自定义UITableView

    自定义UITableView 分成两个部分 1 自定义UITableViewCell 继承UITableViewCell,同时提供接口,根据当前的数据,现实View 2  在UITableView中实 ...

  3. 对Jena的简单理解和一个例子

    本文简单介绍Jena(Jena 2.4),使用Protégé 3.1(不是最新版本)创建一个简单的生物(Creature)本体,然后参照Jena文档中的一个例子对本体进行简单的处理,输出本体中的Cla ...

  4. 实验:sigsuspend(),sigprocmask()

    实验:sigsuspend(),sigprocmask() 源代码: /* * Program: pause_suspend.c * To test the difference between si ...

  5. AFHTTPClient的异步回调模式

    以前第一个版本,ios的http都用的同步模式,在很多地方会导致线程阻塞,自己开发了一个简易的AFHTTPClient的异步回调模式. 回调的protocol: @protocol MyAFNetwo ...

  6. hdu1047 Integer Inquiry

    /* Integer Inquiry Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...

  7. 二分法 codevs 1432 总数统计

    codevs 1432 总数统计  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond   题目描述 Description 给出n个数,统计两两之和小于k的方 ...

  8. HDU 4902 Nice boat --线段树(区间更新)

    题意:给一个数字序列,第一类操作是将[l,r]内的数全赋为x ,第二类操作是将[l,r]中大于x的数赋为该数与x的gcd,若干操作后输出整个序列. 解法: 本题线段树要维护的最重要的东西就是一个区间内 ...

  9. sql 入门经典(第五版) Ryan Stephens 学习笔记  第四部分:建立复杂的数据库查询/

    第十三章: 在查询表里结合表 1.等值结合 : // 选择 tabla_a 和table_b 中id相等的行,输出 他们的id 和name select table_a.id , table_a.na ...

  10. Java的文件读写操作 <转>

    目录: file内存----输入流----程序----输出流----file内存 java中多种方式读文件 判断文件是否存在不存在创建文件 判断文件夹是否存在不存在创建文件夹 java 写文件的三种方 ...