Caffe配置简明教程 ( Ubuntu 14.04 / CUDA 7.5 / cuDNN 5.1 )
1. 前言
本教程使用的系统是Ubuntu 14.04 LTS 64-bit,使用的CUDA版本为7.5,使用的NVIDIA驱动版本为352。
如果您使用的Pascal架构显卡,如GTX1080或者新ttx,则必须使用更高版本的驱动和CUDA 8。本教程不适于这种情况,请不要尝试。
Ubuntu每两年发布一次LTS版本(即长期支持版),所以现在已经发布了16.04 LTS版本。鉴于很多程序在新系统下的兼容性还没有测试,本教程依然介绍的是上一个LTS版本上安装Caffe的方法,随后会推出针对于Ubuntu 16.04和CUDA 8的教程。
本教程很多细节已经尽量详细,但是还是要求使用者有一定的Linux基础,后续可能会推出针对于Linux新用户的更为详细的教程。
2. 安装基础依赖项
sudo apt-get install build-essential
sudo apt-get install cmake git
3. 安装NVIDIA驱动和CUDA7.5
从NVIDIA官网下载CUDA 7.5的deb本地安装包:下载地址
点击如上的链接可以下载支持x86架构CPU和Ubuntu 14.04系统的deb本地安装包,大小约1.9GB,如果需要其他安装方式可以按官网教程进行。
下载完成后,使用Ctrl+Alt+F1进入虚拟控制台,然后输入用户名和密码登陆。
然后关闭lightdm
sudo /etc/init.d/lightdm stop
前往指定的目录,然后执行:
sudo dpkg -i cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb
sudo apt-get update
sudo apt-get install cuda
CUDA安装包中含有NVIDIA显卡驱动程序,会自动安装。
安装完成之后重启:
sudo reboot
重启后后,需要添加环境变量。使用gedit打开如下文档:
sudo gedit /etc/profile
PS:只有在图形桌面环境下才能使用gedit,如果未启动图形界面请使用vim等基于命令行的编辑器。
在文件末尾添加:
PATH=/usr/local/cuda/bin:$PATH
export PATH
保存完成后,执行如下命令使环境变量立即生效:
source /etc/profile
然后还需要添加lib的路径:
sudo gedit /etc/ld.so.conf.d/cuda.conf
在文件中写入如下内容然后保存:
/usr/local/cuda/lib64
之后执行如下命令使之生效:
sudo ldconfig
PS:上面的命令使L-D-C-O-N-F-I-G!!! 无数的人把L写成了I,然后告诉我报错。
执行完了这些操作之后,还可以安装CUDA SAMPLES来检测CUDA是否运行正常,鉴于这不是CUDA编程教程,本教程暂不介绍。
4. 安装其他的一些依赖项
sudo apt-get install freeglut3-dev libx11-dev libxmu-dev libxi-dev libglu1-mesa-dev
sudo apt-get install libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
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
PS:复制粘贴太长的命令可以能因为浏览器的原因导致输入了多余的换行符,如果复制粘贴带有换行符的命令进Terminal,会被当做两条命令来执行,一定要注意这一点。
5. 安装ATLAS
本步骤可以用OpenBLAS或者Intel MKL替代。我在E5-2690v2+GTX780的平台上测试过这三种库,性能相差无几,这里就介绍其中一种:
sudo apt-get install libatlas-base-dev
然后自动安装完成即可。
目前intel MKL是收费软件,OpenBLAS可以免费下载和安装。如果使用这两种库,编译Caffe时要在Makefile.config做出对应的修改。
6. 安装OpenCV
如果不需要使用OpenCV 3的其他功能,使用步骤4中安装的libopencv-dev即可。如需单独安装OpenCV,请点击:这里。
7.下载Caffe
从GitHub上直接下载Caffe的最新版
git clone https://github.com/BVLC/caffe.git
也可以从Caffe的GitHub工程中下载Caffe的历史版本:
8. 安装Python
先安装相关依赖项
sudo apt-get install python-dev python-pip
转到下载的caffe的目录下,然后转到python目录下
cd python
执行如下命令:
for req in $(cat requirements.txt); do sudo pip install $req; done
等待其自动安装即可。
9. 安装MATLAB
下载正版matlab镜像。
打开Terminal,创建文件夹用于挂载matlab的iso:
sudo mkdir /mnt/matlab_iso
然后挂载matlab的iso(将红色内容根据自己的文件路径和名称进行修改):
sudo mount -o loop /路径/Matlab镜像文件名.iso /mnt/matlab_iso
然后执行安装程序:
sudo /mnt/matlab_iso/install
会弹出图形化安装界面,按步骤安装即可,跟windows上安装matlab基本一样。
安装完成后,需激活matlab。先前往matlab的安装路径(根据版本不同前往自己的安装路径即可,下面的路径仅是示范):
cd /usr/local/MATLAB/R2016a/bin
然后在sudo权限下启动matlab(如果不在sudo下启动,matlab会因权限不够无法激活):
sudo ./matlab
然后按图形界面提示激活即可。
激活之后,可以为matlab创建快捷方式:
sudo gedit /usr/share/applications/Matlab.desktop
写入以下内容:
[Desktop Entry]
Type=Application
Name=Matlab
GenericName=Matlab 2016a
Comment=Matlab:The Language of Technical Computing
Exec=sh /usr/local/MATLAB/R2016a/bin/matlab -desktop
Icon=/路径/Matlab.png
Terminal=false
Categories=Development;Matlab;
根据自己的情况更改图标路径和matlab路径。
10. 配置cuDNN
cuDNN需要注册Accelerated Computing Developer Program,然后可以免费下载。
cuDNN是The NVIDIA CUDA Deep Neural Network library,对于使用NVIDIA显卡进行深度学习加速具有很大的性能提升,非常建议添加。
在如下地址进行注册和下载,支持下载历史版本:
PS:另外,cuDNN在很多工程中兼容性较差,可能需要安装特定的历史版本。
下载后解压缩,转到该目录下,执行:
sudo cp lib* /usr/local/cuda/lib64/
sudo cp cudnn.h /usr/local/cuda/include/
更新软链接
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.
sudo ln -s libcudnn.so.5.1. libcudnn.so.
sudo ln -s libcudnn.so. libcudnn.so
PS:根据你下载的cuDNN版本不同,需要对如上命令中的版本进行修改,以上展示的命令是对于cuDNN 5.1.3的。
11. 编译Caffe
在caffe目录下,执行:
cp Makefile.config.example Makefile.config
然后打开Makefile.config,根据自己的需要修改相关参数。
如果使用了cuDNN,则如下行取消注释:
# USE_CUDNN :=
其他可以根据需求修改,比如安装了MATLAB后写入正确的MATLAB安装路径等。
然后进行编译:
make all -j10
make test
make runtest
PS:-j10指10线程同时编译,根据自己CPU的特点调整该参数,如果不了解自己CPU,直接执行make即可。
然后可以根据需求编译matcaffe和pycaffe:
make matcaffe
make pycaffe
然后caffe就安装结束了。
12. 运行minist demo
转到 Caffe 目录下
sh data/mnist/get_mnist.sh
sh examples/mnist/create_mnist.sh
sh examples/mnist/train_lenet.sh
如果运行正常,caffe就可以正常工作了。
本教程编写参考了如下教程,特此鸣谢:
http://www.cnblogs.com/platero/p/3993877.html
http://www.linuxidc.com/Linux/2011-01/31632.htm
http://blog.csdn.net/xanxus46/article/details/7945993
Caffe的官方网站是 http://caffe.berkeleyvision.org/
如果有任何问题可以联系我:yaoyaoliu AT outlook.com
最近更新于2016-09-23 16:59:31
Caffe配置简明教程 ( Ubuntu 14.04 / CUDA 7.5 / cuDNN 5.1 )的更多相关文章
- NVIDIA DIGITS 学习笔记(NVIDIA DIGITS-2.0 + Ubuntu 14.04 + CUDA 7.0 + cuDNN 7.0 + Caffe 0.13.0)
转自:http://blog.csdn.net/enjoyyl/article/details/47397505?from=timeline&isappinstalled=0#10006-we ...
- 【转载】Caffe + Ubuntu 14.04 + CUDA 6.5 新手安装配置指南
洋洋洒洒一大篇,就没截图了,这几天一直在折腾这个东西,实在没办法,不想用Linux但是,为了Caffe,只能如此了,安装这些东西,遇到很多问题,每个问题都要折磨很久,大概第一次就是这样的.想想,之后应 ...
- UBUNTU 14.04 + CUDA 7.5 + CAFFE
这个也是困扰我很久的问题,之前用 http://www.cnblogs.com/platero/p/3993877.html 的安装方法,装了五六七八九十次,总是出问题. 后来找到了一种新的方法,一个 ...
- Ubuntu 16.04 + CUDA 8.0 + cuDNN v5.1 + TensorFlow(GPU support)安装配置详解
随着图像识别和深度学习领域的迅猛发展,GPU时代即将来临.由于GPU处理深度学习算法的高效性,使得配置一台搭载有GPU的服务器变得尤为必要. 本文主要介绍在Ubuntu 16.04环境下如何配置Ten ...
- VirtualBox 安装 Ubuntu 14.04 无法调节分辨率问题
基础环境 宿主系统:Windows 10 虚拟机系统:Ubuntu 14.04-32bit.Ubuntu 14.04-64bit VirtualBox:5.2.0 r118431 (Qt5.6.2) ...
- Ubuntu 14.04 64bit下Caffe + Cuda6.5/Cuda7.0 安装配置教程
http://www.embeddedlinux.org.cn/emb-linux/entry-level/201612/21-6005.html 随着深度学习快速发展的浪潮,许多有兴趣的工作者都转入 ...
- Caffe使用: Ubuntu 14.04(x64) 从cuda 7.0 升级到 cuda8.0
由于之前已经在Ubuntu 14.04 x64上面安装cuda7.0+caffe, 并且已经配置好,caffe也已经跑通. 但是最近需要使用Torch,而Torch对cuda的要求是8.0,因此决定对 ...
- Caffe + Ubuntu 15.04 + CUDA 7.0 安装以及配置
作为小码农的我,昨天就在装这个东东了,主要参考第一篇博文,但是过程发现很多问题,经过反反复复,千锤百炼,终于柳暗花明,我把这个caffe给搞定了,是故,我发布出来,后之来者,欲将有感于斯文~ 本分分为 ...
- rcnn caffe matlab 配置完成 14.04 cuda 7.0
http://blog.csdn.net/real_myth/article/details/42672381 各种痛苦.实验室网速还是龟速. 莫名其妙的错误. gcc还降级到4.7,opencv 3 ...
随机推荐
- svn服务器端的客户端自动更新
先说这个方式的一个弊端,那就是服务器端这边代码不能与svn服务器出现冲突,一旦冲突就失效. 实现原理是,利用svn版本库,hooks目录的bat钩子开展工作. 共在hooks目录下建立3个文件如下:p ...
- hadoop2.0安装中遇到的错误:mapreduce.shuffle set in yarn.nodemanager.aux-services is invalid
转:http://blog.csdn.net/bamuta/article/details/12995139 解决办法 : 在1个网站上找到了解决方法,(网络忘了没记)urg, my copy/pas ...
- UVa 3487 & 蜜汁建图
题意: 有两家公司都想向政府申请某些资源的使用权,并且他们都提供了一些申请列表,列表中含有申请费用和资源种类,同一家公司的申请列表之间不含有重复的资源.政府只可以完整地接受和拒绝谋一份申请列表,问政府 ...
- odeforces Beta Round #77 (Div. 2 Only)
A. Football time limit per test 2 seconds memory limit per test 256 megabytes input standard input o ...
- float的元素脱离文档流,但不完全脱离,只是提升了半层;
float的元素脱离文档流,但不完全脱离,只是提升了半层:
- Reids 主从同步
安装Redis(主从两个装在同一服务器上) 参考地址:http://www.cnblogs.com/kgdxpr/p/3550633.html 主安装在“/usr/local/redis-Master ...
- Leetcode Sum Root to Leaf Numbers
Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number ...
- js判断访问来源
通过navigator的userAgent属性来判定 userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值.一般来讲,它是在 navigator.appCode ...
- [深入浅出WP8.1(Runtime)]生成图片和存储生成的图片文件
7.2.3 使用RenderTargetBitmap类生成图片 RenderTargetBitmap类可以将可视化对象转换为位图,也就是说它可以将任意的UIElement以位图的形式呈现.那么我们在实 ...
- vs2013的单元测试 第一部分
这次的vs2013的单元测试我学到了许多,虽然到现在我还是不能完成,但是我也学到了许多. 首先,在vs2013中先安装Unit Test Generator,如图所示: 这个是进行单元测试重要的一个插 ...