首页 > 代码库 > Deep Learning 学习总结(一)—— Caffe Ubuntu14.04 CUDA 6.5 配置

Deep Learning 学习总结(一)—— Caffe Ubuntu14.04 CUDA 6.5 配置

Caffe (Convolution Architecture For Feature Extraction)作为深度学习CNN一个非常火的框架,对于初学者来说,搭建Linux下的Caffe平台是学习深度学习关键的一步,其过程也比较繁琐,回想起当初折腾的那几天,遂总结一下Ubuntu14.04的配置过程,方便以后新手能在此少走弯路。

 

1. 安装build-essentials

安装开发所需要的一些基本包

sudo apt-get install build-essential

2. 安装NVIDIA驱动

输入下列命令添加驱动源

sudo add-apt-repository ppa:xorg-edgers/ppasudo apt-get update

安装340版本驱动(具体版本取决于电脑显卡的型号,详细可到NVIDIA官网查看)

sudo apt-get install nvidia-340

安装完成后,继续安装下列包

sudo apt-get install nvidia-340-uvm

安装驱动完毕,reboot.

 

3. 安装CUDA 6.5

CUDA的Deb包安装较为简单,按照官网流程,事先安装必要的库

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

3.1 安装CUDA

然后通过以下命令获取Ubuntu 14.04 CUDA相关的repository package

$ sudo dpkg -i cuda-repo-ubuntu1404_6.5-14_amd64.deb $ sudo apt-get update

然后开始安装CUDA Toolkit

$ sudo apt-get install cuda

此时需要下载较长时间,网速较慢的中途可以出去吃个饭~

 

3.2 环境配置

CUDA安装完毕后,需要对.bashrc加入一下命令来配置环境

export CUDA_HOME=/usr/local/cuda-6.5 export LD_LIBRARY_PATH=${CUDA_HOME}/lib64  PATH=${CUDA_HOME}/bin:${PATH} export PATH

 

3.3 安装CUDA SAMPLE

通过复制SDK samples 到主目录下,完成整个编译过程

$ cuda-install-samples-6.5.sh  ~ $ cd ~/NVIDIA_CUDA-6.5_Samples $ make

如果以上过程都成功后,可以通过运行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: "GeForce GTX 670"  CUDA Driver Version / Runtime Version          6.5 / 6.5  CUDA Capability Major/Minor version number:    3.0  Total amount of global memory:                 4095 MBytes (4294246400 bytes)  ( 7) Multiprocessors, (192) CUDA Cores/MP:     1344 CUDA Cores  GPU Clock rate:                                1098 MHz (1.10 GHz)  Memory Clock rate:                             3105 Mhz  Memory Bus Width:                              256-bit  L2 Cache Size:                                 524288 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 1 copy engine(s)  Run time limit on kernels:                     Yes  Integrated GPU sharing Host Memory:            No  Support host page-locked memory mapping:       Yes  Alignment requirement for Surfaces:            Yes  Device has ECC support:                        Disabled  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 = GeForce GTX 670Result = PASS

 

4. 安装BLAS

Caffe的BLAS可以有三种选择,分别为atlas、mkl以及openBLAS。对于mkl可以到intel官网下载,解压完成后又一个install_GUI.sh文件,执行该文件会出现图形安装界面,根据说明一步一步执行即可。

也可对openBLAS源码进行编译,不过需要gcc以及gfortran等相关编译器。个人认为比较便捷的是atlas,在Caffe官网上有相关的介绍,对于Ubuntu,通过以下命令可以下载atlas

sudo apt-get install libatlas-base-dev

 

5. 安装OpenCV

OpenCV库安装可以通过网上写好的脚本进行下载:https://github.com/jayrambhia/Install-OpenCV

解压文档后,进入Ubuntu/2.4 给所有的shell脚本加上可执行权限

chmod +x *.sh

然后执行 opencv2_4_9.sh 安装最新版本,注意,OpenCV 2.4.9不支持gcc-4.9以上的编译器!!

 

6. 安装其他dependencies

对于Ubuntu 14.04,执行以下命令下载其他相关依赖库文件

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

 

7. 安装python以及Matlab

首先安装pip和python –dev

sudo apt-get install python-dev python-pip

以及caffe python wrapper所需要的额外包

sudo pip install -r /path/to/caffe/python/requirements.txt

Matlab接口需要额外安装Matlab程序

 

Last shot --- 编译Caffe

完成所有的环境配置,终于可以编译caffe了,通过官网下载caffe源码,进入根目录caffe-master,首先复制一份makefile

cp Makefile.config.example Makefile.config

然后修改里面的内容,主要有:

CPU_ONLY   是否采用cpu模式,否则选择CUDNN(这里的CUDNN需要在NVIDIA-CUDNN下载,还有通过email注册申请才能通过审核)

BLAS:=atlas(也可以是open或者mkl)

DEBUG  如果需要debug模式

MATLAB_DIR 如果需要采用matlab 接口

完成配置后,可以进行编译了

make all -j4make testmake runtest
最后如果都能正常,证明caffe里面所有的例子程序都可以运行了,放心都跑CIFAR、MNIST以及ImageNet吧~~

Deep Learning 学习总结(一)—— Caffe Ubuntu14.04 CUDA 6.5 配置