0.检查配置

1. VMWare上运行的Ubuntu,并不能支持真实的GPU(除了特定版本的VMWare和特定的GPU,要求条件严格,所以我在VMWare上搭建好了Caffe环境后,又重新在Windows 7 64bit系统上安装了Ubuntu 14.04 64bit系统,链接在此,以此来搭建Caffe GPU版本);

2. 确定GPU支持CUDA

输入:

  1. lspci | grep -i nvidia

显示结果:

我的是GTX 650,然后到http://developer.nvidia.com/cuda-gpus去验证,支持CUDA;

3. 确定Linux版本支持CUDA

输入:

  1. uname -m && cat /etc/*release

结果显示:

4. 确定系统已经安装了GCC

输入:

  1. gcc --version

结果显示:

5. 确定系统已经安装了正确的Kernel Headers和开发包

输入:

  1. uname -r

结果:4.2.0-36-generic,这个是必须安装的kernel headers和开发包的版本;

安装对应的kernels header和开发包,

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

1.安装CUDA

下载CUDA,从https://developer.nvidia.com/cuda-downloads,下载对应版本的cuda安装包,我下载的是deb(local)版,

安装CUDA,运行如下命令,即可安装CUDA;

  1. sudo dpkg -i cuda-repo-ubuntu1404_7.5-18_amd64.deb
  2. sudo apt-get update
  3. sudo apt-get install cuda

安装完成后,重启一下;

2.安装cuDNN

下载cuDNN,从https://developer.nvidia.com/rdp/cudnn-download,注册,然后下载,

注意事项:

有可能由于最新cuDNN不稳定,导致后续caffe工程编译失败,报出如下错误,详情参考第三个链接,这时可以回退一下,下载较新版本的cuDNN;

  1. CXX src/caffe/test/test_im2col_layer.cpp
  2. In file included from ./include/caffe/util/device_alternate.hpp:40:0,
  3. from ./include/caffe/common.hpp:19,
  4. from ./include/caffe/blob.hpp:8,
  5. from src/caffe/test/test_im2col_layer.cpp:5:
  6. ./include/caffe/util/cudnn.hpp: In function void caffe::cudnn::createPoolingDesc(cudnnPoolingStruct**, caffe::PoolingParameter_PoolMethod, cudnnPoolingMode_t*, int, int, int, int, int, int)’:
  7. ./include/caffe/util/cudnn.hpp:127:41: error: too few arguments to function cudnnStatus_t cudnnSetPooling2dDescriptor(cudnnPoolingDescriptor_t, cudnnPoolingMode_t, cudnnNanPropagation_t, int, int, int, int, int, int)’
  8. pad_h, pad_w, stride_h, stride_w));
  9. ^
  10. ./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro CUDNN_CHECK
  11. cudnnStatus_t status = condition; \
  12. ^
  13. In file included from ./include/caffe/util/cudnn.hpp:5:0,
  14. from ./include/caffe/util/device_alternate.hpp:40,
  15. from ./include/caffe/common.hpp:19,
  16. from ./include/caffe/blob.hpp:8,
  17. from src/caffe/test/test_im2col_layer.cpp:5:
  18. /usr/local/cuda/include/cudnn.h:799:27: note: declared here
  19. cudnnStatus_t CUDNNWINAPI cudnnSetPooling2dDescriptor(
  20. ^
  21. Makefile:572: recipe for target '.build_release/src/caffe/test/test_im2col_layer.o' failed
  22. make: *** [.build_release/src/caffe/test/test_im2col_layer.o] Error 1

拷贝cuDNN库文件到cuda目录下,

  1. tar -zxvf cudnn-7.0-linux-x64-v4.0-prod.tgz
  2. cd cuda
  3. sudo cp lib64/* /usr/local/cuda/lib64/
  4. sudo cp include/cudnn.h /usr/local/cuda/include/

设置环境变量,在/etc/profile中添加CUDA环境变量,

  1. sudo gedit /etc/profile

在打开的文件中加入如下两句话

  1. export PATH=/usr/local/cuda/bin:$PATH
  2. export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

保存后,使环境变量立即生效,

  1. source /etc/profile

进入/usr/local/cuda/samples,执行下面的命令来build samples,

  1. sudo make all -j4

全部编译完成后,进入 samples/bin/x86_64/linux/release,运行deviceQuery,

  1. ./deviceQuery

如果出现显卡信息,则驱动及显卡安装成功,结果如下:

3.编译caffe

修改caffe/Makefile.config,

  1. # cuDNN acceleration switch (uncomment to build with cuDNN).
  2. USE_CUDNN := 1#去掉这个注释
  3. # CPU-only switch (uncomment to build without GPU support).
  4. # CPU_ONLY := 1#加上这个注释

然后输入,

  1. make clean#第一次编译,不需要执行
  2. make all
  3. make test
  4. make runtest

显示结果:

cpu版本Caffe学习笔记1--Ubuntu 14.04 64bit caffe安装的编测试行结果是共1058项,GPU版本的测试运行结果是2005项;

编译pycaffe,

  1. make pycaffe
  2. make distribute

4.mnist数据测试

  1. cd caffe
  2. # 下载mnist数据
  3. sh data/mnist/get_mnist.sh
  4. sh examples/mnist/create_mnist.sh
  5. ./examples/mnist/train_lenet.sh

执行结果,

和CPU版本Caffe学习笔记1--Ubuntu 14.04 64bit caffe安装的mnist数据测试相比,速度明显提升;当时我运行脚本后,就开始看书,刚看完一页,抬头发现已经运行完毕,第一次用GPU计算,虽然只是很渣的GTX 650,但依然对GPU的运算能力感到佩服;

5.深度学习开源库环境搭建大礼包

昨晚群里一个哥们分享了一个github链接,涵盖了主流深度学习开源库的环境搭建,包括Nvidia驱动、CUDA、cuDNN、TensorFlow、Caffe、Theano、Keras、Torch,链接在此,他的配置是Ubuntu 14.04 64bit + Nvidia Titan X,还是适用于好多朋友的机器的,所以好东西还是要分享给大家;

6.参考链接

Ubuntu 14.04上安装caffe

Ubuntu 14.04 + Caffe + Cuda 7.5 + Opencv 3.0安装教程

Caffe error make test

Caffe学习笔记2--Ubuntu 14.04 64bit 安装Caffe(GPU版本)的更多相关文章

  1. Ubuntu 14.04 64bit 安装tensorflow(GPU版本)

    本博客主要用于在Ubuntu14.04 64bit 操作系统上搭建google开源的深度学习框架tensorflow. 0.安装CUDA和cuDNN 如果要安装GPU版本的tensorflow,就必须 ...

  2. Ubuntu 14.04 64bit下Caffe + Cuda6.5/Cuda7.0 安装配置教程

    http://www.embeddedlinux.org.cn/emb-linux/entry-level/201612/21-6005.html 随着深度学习快速发展的浪潮,许多有兴趣的工作者都转入 ...

  3. Ubuntu 14.04上安装caffe

    本来实在windows 10上尝试安装caffe,装了一天没装上,放弃; 改在windows上装ubuntu的双系统,装了一个下午,不小心windows的系统盘被锁死了,也不会unlock?只好含泪卸 ...

  4. ubuntu 14.04 64bit 安装 oracle 11g r2

    参考文章:http://tutorialforlinux.com/2016/03/09/how-to-install-oracle-11g-r2-database-on-ubuntu-14-04-tr ...

  5. 在Ubuntu 14.04 64bit上安装numpy和matplotlib库

    原文:http://blog.csdn.net/tao_627/article/details/44004541 按照这个成功安装! 机器学习是数据挖掘的一种实现形式,在学习<机器学习实战> ...

  6. Window7下安装Ubuntu 14.04 64bit

    本文章主要讲解如何在Windows7操作系统中硬盘安装Ubuntu 14.04 64bit: 1.准备文件 1.ubuntu-14.04.4-desktop-amd64.iso 2.EasyBCD.e ...

  7. Installation Guide of Ubuntu 14.04, 64bit on Dell Server

    Installation Guide of Ubuntu 14.04, 64bit on Dell Server 准备:U盘(已通过ultraiso刻录ISO镜像). 1.插入U盘: 2.启动服务器, ...

  8. 在Ubuntu 14.04 64bit上安装Markdown和绘图软件Haroopad

    简介 Haroopad:一款让你欲罢不能的Markdown编辑器 身为大程序员,我本来是不需要 Markdown 编辑器的,但是 Haroopad 让我简直欲罢不能,不能再爱更多.跨平台,代码高亮,V ...

  9. 在Ubuntu 14.04 上安装网易云音乐

    之前因为电脑有网络的原因,一直使用网页网易云音乐听歌,最近电脑没网络使用,才发现网易云音乐有linux版本,果断下载. 在Chrome浏览器中,登陆官网下载Linux版本中的Ubuntu 14.04 ...

随机推荐

  1. 【转】apache 二级域名设置完整步骤

    原文链接:http://blog.sina.com.cn/s/blog_5375d76b01014fnt.html 最近在折腾网站二级域名的事情,在网上查了很多零碎的文档,不完整,有些也没有自己验证, ...

  2. iPhone/iPad/Android UI尺寸规范 UI尺寸规范,UI图标尺寸,UI界面尺寸,iPhone6尺寸,iPhone6 Plus尺寸,安卓尺寸,iOS尺寸

    iPhone/iPad/Android UI尺寸规范 UI尺寸规范,UI图标尺寸,UI界面尺寸,iPhone6尺寸,iPhone6 Plus尺寸,安卓尺寸,iOS尺寸 iPhone界面尺寸 设备 分辨 ...

  3. tungsten抽取和应用mysql binlog

    首先举例说明 api的基本使用方式 首先进行配置 , 可以看到源数据库和目的数据库 TungstenProperties tp=new TungstenProperties(); tp.setStri ...

  4. MongooseHelper

    /** * Created by lbc on 2016/11/16. */var mongoose=require("mongoose");var db=mongoose.con ...

  5. C#委托与事件的简单使用

    前言:上一篇博文从原理和定义的角度介绍了C#的委托和事件.本文通过一个简单的小故事,来说明C#委托与事件的使用方法及其方便之处. 在阅读本文之前,需要你对委托和事件的基本概念有所了解.如果你是初次接触 ...

  6. C# webBrowser 开新窗口保持Session(转)

    首先为项目添加引用 Microsoft Internet Controls public Form1() { InitializeComponent(); this.webBrowser1.Allow ...

  7. (转)名称和本质 by王珢

    名称和本质 by 王垠 我很喜欢 Richard Feynman 写的 <What Do You Care What Other People Think>.在最开头 Feynman 讲到 ...

  8. PAT Judge

    原题连接:https://pta.patest.cn/pta/test/16/exam/4/question/677 题目如下: The ranklist of PAT is generated fr ...

  9. SQL 去掉某字段括号中的值

    今天在数据库匹配数据的时候,发现一些数据存在别名,导致我的数据匹配不上.在这里记录分享一下 例如: 李钟硕 (Lee Jong Suk),这里我匹配的是 “李钟硕” 示例1: SELECT rever ...

  10. java包(package)的命名规范

     Java的包名都有小写单词组成,类名首字母大写:包的路径符合所开发的 系统模块的 定义,比如生产对生产,物资对物资,基础类对基础类.以便看了包名就明白是哪个模块,从而直接到对应包里找相应的实现. 由 ...