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 ...
随机推荐
- [R]R下as.Date()函数的坑
问题描述: 在本地使用as.Date()函数从POSIXct类型中提取date时,出现了日期不一致的错误.导致处理数据时,总是出问题. 还好被领导发现数据有误,不然这个bug不知道还要潜伏多久.尽管如 ...
- [转]七天学会NodeJS
转:http://nqdeng.github.io/7-days-nodejs/ NodeJS基础 什么是NodeJS JS是脚本语言,脚本语言都需要一个解析器才能运行.对于写在HTML页面里的JS, ...
- hdu1181 变形课
Problem Description 呃......变形课上Harry碰到了一点小麻烦,因为他并不像Hermione那样能够记住所有的咒语而随意的将一个棒球变成刺猬什么的,但是他发现了变形咒语的一个 ...
- Javascript与当前项目的思考
主体 分为以下三部分,能力.经验有限,欢迎拍砖. 1.低效的代码 2.面向对象的重构重复利用代码 3.调试的经验总结 第一部分 日常中低效的代码 加载和运行 <html> <he ...
- 开篇&TexturePacker打出图集给UGUI使用
开篇: 前段时间,网上流出了一套手游源码,本想着把服务器端搭一下,给自己认识小伙伴们调试着把这套源码学习一下.于是就买一个阿里云服务器,可是花了几天时间,就是run不起来了啊.还好网上已经有人搭出来了 ...
- BZOJ1391: [Ceoi2008]order
Description 有N个工作,M种机器,每种机器你可以租或者买过来. 每个工作包括若干道工序,每道工序需要某种机器来完成,你可以通过购买或租用机器来完成. 现在给出这些参数,求最大利润 Inpu ...
- My Notepad
I have spent near more two weeks to write this Notepad application. At this moment, I want to share ...
- Maven_pom.xml介绍
Maven的pom.xml介绍 6.1 简介 pom.xml文件是Maven进行工作的主要配置文件.在这个文件中我们可以配置Maven项目的groupId.artifactId和version ...
- windows一些快捷键
1.Win + __ 1)Win + L 锁屏 2)Win + E 资源管理器(就是打开硬盘) 3)Win + D 回到桌面 4)Win + Tab 3D方式切换程序窗口 5)Win + R 运行命令 ...
- 小Experience__要懂得努力
来到郎沃这么久了,在这里学到了很多,对于一个从未摸过电脑的农村孩子来说,我为自己感到自豪,我不自卑,also.也不会骄傲. 我很清楚的记得爸妈给我说的什么,for myself,for parents ...