Ubuntu 14.04 64bit下Caffe + Cuda6.5/Cuda7.0 安装配置教程
http://www.embeddedlinux.org.cn/emb-linux/entry-level/201612/21-6005.html
随着深度学习快速发展的浪潮,许多有兴趣的工作者都转入了这个有着很好前景的研究中。工欲善其事,必先利其器。Caffe是一个很不错的深度学习框架,但它的安装步骤比较繁琐,将许多新手拒之门外,于是我就写了这篇博客,主要是我之前安装Caffe也是费了很多时间,由零基础慢慢学习,很羡慕那些有师兄师姐可以帮助的人。
下面开始正式介绍相关安装步骤,该教程主要包括以下几方面的内容:
第一部分:安装所需要的包
第二部分:NVIDIA 驱动和CUDA 安装
第三部分:Caffe安装和测试
第一部分:安装所需要的包
第一部分:安装所需要的包
- sudo apt-get install build-essential # basic requirement
- sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler #required by caffe
提示:使用 sudo apt-get install libboost-all-dev ,默认安装boost1.54版本,如果想要使用1.55版本,可以使用命令:sudo apt-get install libboost1.55-all-dev(推荐)
第二部分:NVIDIA 驱动和CUDA 安装
重要提示:安装完Ubuntu系统以及CUDA之后,切莫进行系统更新,会引起不能正常进入桌面的情况,会令你很烦恼的。
安装之前请进行md5检验,确保安装包完整,检验命令为:md5sum 文件名,查看输出的md5sum是否跟你有的相同。
以cuda-repo-ubuntu1404-7-0-local_7.0-28_amd64.deb为例
目前CUDA官网已经提供离线*.deb安装的方法,本教程提供两种安装方法(*.deb和*.run)
(一)离线 *.deb 安装方法(推荐)
此方法不用切换到文本模型即可安装。
(2.1.1)首先下载 对应系统的 离线CUDA安装包 (*.deb) 链接:https://developer.nvidia.com/cuda-toolkit
(2.1.2)安装下载到的 CUDA离线包 (cuda-repo-ubuntu1404-7-0-local_7.0-28_amd64.deb)
- 添加软件源
- sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb
- 更新软件源
- sudo apt-get update
- 安装CUDA
- sudo apt-get install cuda
- 重启计算机(通过boot设置独立显卡支持)
- sudo reboot
(2.1.3)修改环境变量
1)在 /etc/profile 文件中添加以下内容:
- export PATH=/usr/local/cuda-7.0/bin:$PATH
命令:
- sudo vim /etc/profile
2)使环境变量生效
命令:
- source /etc/profile
(2.1.4)添加lib库路径
1)在 /etc/ld.so.conf.d/ 文件夹下添加 cuda.conf 文件,内容如下:
- /usr/local/cuda-7.0/lib64
2)使库路径立即生效
- sudo ldconfig [-v,可选]
(2.1.5)安装CUDA Samples
命令:
- sudo sh cuda-samples-linux-6.5.14-18745345.run
一直aceept就行,建议使用默认路径。
编译CUDA Samples
命令:
- cd /usr/local/cuda-6.5/samples
- sudo make
编译完成后,进入路径:/samples/bin/x86_64/linux/release
运行命令:
- ./deviceQuery
输出:
- ./deviceQuery Starting...
- CUDA Device Query (Runtime API) version (CUDART static linking)
- Detected 1 CUDA Capable device(s)
- Device 0: "Tesla K40c"
- CUDA Driver Version / Runtime Version 6.5 / 6.5
- CUDA Capability Major/Minor version number: 3.5
- Total amount of global memory: 11520 MBytes (12079136768 bytes)
- (15) Multiprocessors, (192) CUDA Cores/MP: 2880 CUDA Cores
- GPU Clock rate: 745 MHz (0.75 GHz)
- Memory Clock rate: 3004 Mhz
- Memory Bus Width: 384-bit
- L2 Cache Size: 1572864 bytes
- Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)
- Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers
- Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers
- Total amount of constant memory: 65536 bytes
- Total amount of shared memory per block: 49152 bytes
- Total number of registers available per block: 65536
- Warp size: 32
- Maximum number of threads per multiprocessor: 2048
- Maximum number of threads per block: 1024
- Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
- Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)
- Maximum memory pitch: 2147483647 bytes
- Texture alignment: 512 bytes
- Concurrent copy and kernel execution: Yes with 2 copy engine(s)
- Run time limit on kernels: No
- Integrated GPU sharing Host Memory: No
- Support host page-locked memory mapping: Yes
- Alignment requirement for Surfaces: Yes
- Device has ECC support: Enabled
- Device supports Unified Addressing (UVA): Yes
- Device PCI Bus ID / PCI location ID: 1 / 0
- Compute Mode:
- < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
- deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 6.5, CUDA Runtime Version = 6.5, NumDevs = 1, Device0 = Tesla K40c
- Result = PASS
(2.1.6)验证NVIDIA 驱动和CUDA是否安装成功
查看安装NVIDIA驱动版本 命令:
- cat /proc/driver/nvidia/version
输出
- NVRM version: NVIDIA UNIX x86_64 Kernel Module 340.96 Sun Nov 8 22:33:28 PST 2015
- GCC version: gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-12ubuntu1)
从输出信息可以看出NVIDIA驱动版本为 340.96
安装完成后,就可以重新启动桌面服务了。
命令:
- sudo start lightdm
(二)离线 *.run 安装方法
使用该方法安装,可能需要尝试多次安装
(2.2.1)验证显卡是否支持CUDA
命令:
- lspci | grep -i nvidia
查看该计算机显卡是否存在于 链接 https://developer.nvidia.com/cuda-gpus 中。
(2.2.2)验证系统,确定为x86架构,64bit系统
命令:
- uname -m && cat /etc/*release
输出:
- x86_64
- DISTRIB_ID=Ubuntu
- DISTRIB_RELEASE=14.04
- DISTRIB_CODENAME=trusty
- DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS"
- NAME="Ubuntu"
- VERSION="14.04.2 LTS, Trusty Tahr"
- ID=ubuntu
- ID_LIKE=debian
- PRETTY_NAME="Ubuntu 14.04.2 LTS"
- VERSION_ID="14.04"
- HOME_URL="http://www.ubuntu.com/"
- SUPPORT_URL="http://help.ubuntu.com/"
- BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
(2.2.3)验证系统中是否已经安装gcc,因为需要用gcc来编译CUDA和Caffe
命令:
- gcc --version
(2.2.4)NVIDIA和CUDA安装(*.run)
安装之前请进行md5sum检验,确保安装包完整,检验命令为:md5sum 文件名,查看输出的md5sum是否跟你有的相同。
该方法以 CUDA6.5 为例。
(2.2.4.1)首先下载 对应系统的 离线CUDA安装包 (*.run) 链接:https://developer.nvidia.com/cuda-toolkit
(2.2.4.2)关闭桌面服务
进入Ubuntu, 按 Ctrl+Alt+F1 进入tty, 登录tty后输入如下命令:sudo service lightdm stop。
此命令会关闭lightdm服务,如果你使用的是gdm或者其他的桌面服务,请在安装NVIDIA显卡驱动前关闭它。
(2.2.4.3)关闭 Nouveau 开源驱动服务
Nouveau是一个开源的显卡驱动,Ubuntu 14.04 默认安装了,但是它会影响nVidia驱动的安装,启动时需要将这个驱动加入黑名单中。
1):修改nvidia-graphics-drivers.conf文件
- sudo vim /etc/modprobe.d/nvidia-graphics-drivers.conf
写入:
- blacklist nouveau
保存并退出:
- wq!
检查:
- cat nvidia-graphics-drivers.conf
2):修改grub文件
- sudo vim /etc/default/grub
末尾写入:
- rdblacklist=nouveau nouveau.modeset=0
保存并退出:
- wq!
检查:
- cat /etc/default/grub
(2.2.4.4)安装下载到的 CUDA离线包 (*.run)
1):安装 *.run文件,可以直接使用命令 sudo sh cuda_6.5.14_linux_64.run 一直aceept就行。
或者
由于CUDA安装包中NVIDIA驱动的版本并不保证是最新的,也不一定适合你的计算机的显卡,所以建议使用下面这种方式分开安装,如果NVIDIA驱动版本和CUDA版本不对应的话,会导致CUDA安装失败,或者进入不了桌面服务。可以去NVIDIA官网 下载对应你的显卡的驱动的最新版,至少要高于CUDA安装包中自带的NVIDIA版本。
通过下列命令
- cuda_6.5.14_linux_64.run --extract=extract_path
将下载得到的 *.run 文件解压成三个文件, 分别为
CUDA安装包: cuda-linux64-rel-6.5.14-18749181.run
NVIDIA安装包: NVIDIA-Linux-x86_64-340.65.run
CUDA Samples安装包:cuda-samples-linux-6.5.14-18745345.run
分别运行各个文件,运行前,需要将文件权限修改为可执行权限
命令:
- chmod +x *.run
2):安装CUDA
命令:
- sudo sh cuda-linux64-rel-6.5.14-18749181.run
一直aceept就行,建议使用默认路径。
安装NVIDIA(如果没有NVIDIA显卡,可跳过该步骤,仍可使用Caffe的CPU模式)
命令:(不建议使用)
- sudo sh NVIDIA-Linux-x86_64-340.65.run
一直aceept就行,建议使用默认路径。
3):建议方法(仅限于使用CUDA6.5,如果你需要使用更新的CUDA版本,请去NVIDIA官网 下载对应你的显卡的驱动的最新版,至少要高于CUDA安装包中自带的NVIDIA版本,然后单独安装显卡驱动。链接:http://www.nvidia.cn/Download/index.aspx?lang=cn)
1:添加驱动源
- sudo add-apt-repository ppa:xorg-edgers/ppa
- sudo apt-get update
2:安装340版驱动 (CUDA 6.5.14目前最高仅支持340版驱动, 343, 346版驱动暂不支持)
- sudo apt-get install nvidia-340
3:安装完成后, 继续安装下列包 (否则在运行sample时会报错)
- sudo apt-get install nvidia-340-uvm
4:安装完成后,最好重启计算机,让NVIDIA显卡工作
(2.2.4.5)安装CUDNN(可选)
1):下载 cudnn-6.5-linux-x64-v2 点击下载,然后执行以下命令安装
- tar -zxvf cudnn-6.5-linux-x64-v2.tgz
- cd cudnn-6.5-linux-x64-v2
- sudo cp lib* /usr/local/cuda-6.5/lib64/
- sudo cp cudnn.h /usr/local/cuda-6.5/include/
2):更新软连接
- cd /usr/local/cuda-6.5/lib64/
- sudo rm -rf libcudnn.so libcudnn.so.6.5
- sudo ln -s libcudnn.so.6.5.48 libcudnn.so.6.5
- sudo ln -s libcudnn.so.6.5 libcudnn.so
(2.2.4.6)修改环境变量
1):在 /etc/profile 文件中添加以下内容:
- export PATH=/usr/local/cuda-6.5/bin:$PATH
命令:
- sudo vim /etc/profile
2):使环境变量生效
命令:
- source /etc/profile
(2.2.4.7)添加lib库路径
1):在 /etc/ld.so.conf.d/ 文件夹下添加 cuda.conf 文件,内容如下:
- /usr/local/cuda-6.5/lib64
2):使库路径立即生效
- sudo ldconfig [-v,可选]
(2.2.4.8)安装CUDA Samples
命令:
- sudo sh cuda-samples-linux-6.5.14-18745345.run
一直aceept就行,建议使用默认路径。
编译CUDA Samples
命令:
- cd /usr/local/cuda-6.5/samples
- sudo make
编译完成后,进入路径:/samples/bin/x86_64/linux/release
运行命令:
- ./deviceQuery
输出:
- ./deviceQuery Starting...
- CUDA Device Query (Runtime API) version (CUDART static linking)
- Detected 1 CUDA Capable device(s)
- Device 0: "Tesla K40c"
- CUDA Driver Version / Runtime Version 6.5 / 6.5
- CUDA Capability Major/Minor version number: 3.5
- Total amount of global memory: 11520 MBytes (12079136768 bytes)
- (15) Multiprocessors, (192) CUDA Cores/MP: 2880 CUDA Cores
- GPU Clock rate: 745 MHz (0.75 GHz)
- Memory Clock rate: 3004 Mhz
- Memory Bus Width: 384-bit
- L2 Cache Size: 1572864 bytes
- Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)
- Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers
- Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers
- Total amount of constant memory: 65536 bytes
- Total amount of shared memory per block: 49152 bytes
- Total number of registers available per block: 65536
- Warp size: 32
- Maximum number of threads per multiprocessor: 2048
- Maximum number of threads per block: 1024
- Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
- Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)
- Maximum memory pitch: 2147483647 bytes
- Texture alignment: 512 bytes
- Concurrent copy and kernel execution: Yes with 2 copy engine(s)
- Run time limit on kernels: No
- Integrated GPU sharing Host Memory: No
- Support host page-locked memory mapping: Yes
- Alignment requirement for Surfaces: Yes
- Device has ECC support: Enabled
- Device supports Unified Addressing (UVA): Yes
- Device PCI Bus ID / PCI location ID: 1 / 0
- Compute Mode:
- < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
- deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 6.5, CUDA Runtime Version = 6.5, NumDevs = 1, Device0 = Tesla K40c
- Result = PASS
(2.2.4.9)验证NVIDIA 驱动和CUDA是否安装成功
查看安装NVIDIA驱动版本 命令:
cat /proc/driver/nvidia/version
输出
- NVRM version: NVIDIA UNIX x86_64 Kernel Module 340.96 Sun Nov 8 22:33:28 PST 2015
- GCC version: gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-12ubuntu1)
从输出信息可以看出NVIDIA驱动版本为 340.96
安装完成后,就可以重新启动桌面服务了。
参考http://www.infocool.net/kb/Other/201608/172641.html
命令:
- sudo start lightdm
Ubuntu 14.04 64bit下Caffe + Cuda6.5/Cuda7.0 安装配置教程的更多相关文章
- Window7下安装Ubuntu 14.04 64bit
本文章主要讲解如何在Windows7操作系统中硬盘安装Ubuntu 14.04 64bit: 1.准备文件 1.ubuntu-14.04.4-desktop-amd64.iso 2.EasyBCD.e ...
- 在Ubuntu 14.04 64bit上安装numpy和matplotlib库
原文:http://blog.csdn.net/tao_627/article/details/44004541 按照这个成功安装! 机器学习是数据挖掘的一种实现形式,在学习<机器学习实战> ...
- Ubuntu 14.04下Hadoop2.4.1集群安装配置教程
一.环境 系统: Ubuntu 14.04 64bit Hadoop版本: hadoop 2.4.1 (stable) JDK版本: OpenJDK 7 台作为Master,另3台作为Slave. 所 ...
- 在Ubuntu 14.04 64bit上安装Markdown和绘图软件Haroopad
简介 Haroopad:一款让你欲罢不能的Markdown编辑器 身为大程序员,我本来是不需要 Markdown 编辑器的,但是 Haroopad 让我简直欲罢不能,不能再爱更多.跨平台,代码高亮,V ...
- Ubuntu 14.04 LTS 下 android 2.3.5 源码编译过程
Ubuntu 14.04 LTS 下 android 2.3.5 源码编译过程 在新的Ubuntu 64位系统下去编译早期的安卓源码是会出现很多问题的,因为64位系统在安装完成后,很多32位的兼容 ...
- 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.启动服务器, ...
- Linux ->> UBuntu 14.04 LTE下主机名称和IP地址解析
UBuntu 14.04 LTE下主机名称和IP地址解析一些相关的配置文件: /etc/hosts: 主机文件.手工配置IP地址和主机名称间的映射.格式为每行一条映射条项: <machine_n ...
- Linux ->> UBuntu 14.04 LTE下安装Hadoop 1.2.1(伪分布模式)
Hadoop的运行模式可分为单机模式.伪分布模式和分布模式. 首先无论哪种模式都需要安装JDK的,这一步之前的随笔Ubuntu 14.04 LTE下安装JDK 1.8中已经做了.这里就不多说了. 其次 ...
- ubuntu 18.04 64bit下如何安装安卓虚拟机anbox?
一. 安装snapd sudo apt-get install snapd 二. 安装adb sudo apt-get install adb 三. 安装必要的内核模块 wget https://la ...
随机推荐
- 初学Direct X (2)
初学Direct X (2) 这一次要学习如何现实位图,尽管看过对双缓冲机制还有很多疑问,但是这并不阻碍我对他的入门了解 Direct3D提供了一个双重/后台缓冲区,在调用CreateDevice之时 ...
- C#-返回相对时间函数
在公司一直做前端,经理叫我写一个后端函数,要求是: 参数:DateTime--传入任意时间类型返回:string --返回传入参数时间与当前时间的相对时间字符串,如:3天前,1小时前,5分钟前. 注意 ...
- Python全栈 项目(HTTPServer、PiP使用)
pip是Python官方推荐的包管理工具 属于python的一部分 pip的使用 pip的安装 sudo apt-get install pyt ...
- Java进阶知识点:不可变对象与并发
一.String的不可变特性 熟悉Java的朋友都知道,Java中的String有一个很特别的特性,就是你会发现无论你调用String的什么方法,均无法修改this对象的状态.当确实需要修改Strin ...
- [转载]Tensorflow中reduction_indices 的用法
Tensorflow中reduction_indices 的用法 默认时None 压缩成一维
- windows store无法登陆的问题解决方案
Windows应用商店或商店Apps无法打开或闪退的可选方法 (仅用于10565之前的Windows 10版本) 右键点击任务栏,选择"属性",切换到"导航"选 ...
- jdk1.8新特性-Lambda表达式使用要点
前言 在jdk1.8出来的时候看到过,没怎么了解.但是最近再看kafka和spark框架,框架示例中ava版的很多地方用到Lambda表达式,发现使用Lambda表达式代码确实简单了好多,有些例子大致 ...
- PHP 5.6.32 增加pdo_dblib.so拓展
首先说明,php增加pdo_dblib.so拓展不需要重新编译php源文件,只需要增加dblib源包即可. 1.下载安装所需包 1.#下载 wget http://mirrors.ibiblio.or ...
- Alpha项目冲刺_博客链接合集
组员 学号 林泽宇(队长) 211606317 李涵 211606365 尹海川 211606388 郏敏杰 211606307 何永康 211606362 陈炳旭 211606353 苏宇翔 211 ...
- Ubuntu 配置 ftp freemind adb
. 1. 配置apt-get源 配置过程 : sudo vim /etc/profile 命令, 在后面添加下面的内容; 刷新配置文件 : source /etc/profie 命令; 刷新源 : s ...