Ubuntu 15.04 下Caffe + + CUDA 7.0 安装配置指南(4)

1. 下载并编译OpenCV(官网原版OpenCV:), 或者使用本站提供的修改版的安装包 Install-OpenCV-master (下面的安装方式使用该包完成,安装包修改了dependencies.sh文件并增加了OpenCV 3.0.0的安装文件,同时保留了原来的2.3x和2.4x版)

2. 切换到文件保存的文件夹,然后安装依赖项:

$ sudo sh Ubuntu/dependencies.sh

3. 切换目录Ubuntu\3.0\安装OpenCV 3.0.0rc1:

$ sudo sh opencv3_0_0-rc1.sh

保证网络畅通,因为软件需要联网这里时间较长,请耐心等待。。。,

四、安装其他依赖项

1. Google Logging Library(glog),下载地址:https://code.google.com/p/google-glog/,然后解压安装:

$ tar zxvf glog-0.3.3.tar.gz

$ ./configure

$ make

$ sudo make install

如果没有权限就chmod a+x glog-0.3.3 -R , 或者索性 chmod 777 glog-0.3.3 -R , 装完之后,这个文件夹就可以kill了。

2. 其他依赖项,确保都成功

$ sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev

$ sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

五、安装Caffe并测试

1. 安装pycaffe必须的一些依赖项:

$ sudo apt-get install -y python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags Cython ipython

$ sudo apt-get install -y protobuf-c-compiler protobuf-compiler

2. 安装配置nVidia cuDNN 加速Caffe模型运算

a. 安装cuDNN

该改版本caffe-master默认支持cudnn-6.5-linux-x64-v2,使用cudnn-6.5-linux-R1会报错,安装前请去先官网下载最新的cuDNN。

$ sudo cp cudnn.h /usr/local/include

$ sudo cp libcudnn.so /usr/local/lib

$ sudo cp libcudnn.so.6.5 /usr/local/lib

$ sudo cp libcudnn.so.6.5.48 /usr/local/lib

b. 链接cuDNN的库文件

$ sudo ln -sf /usr/local/lib/libcudnn.so.6.5.48 /usr/local/lib/libcudnn.so.6.5

$ sudo ln -sf /usr/local/lib/libcudnn.so.6.5 /usr/local/lib/libcudnn.so

$ sudo ldconfig -v

3. 切换到Caffe-master的文件夹,生成Makefile.config配置文件,执行:

$ cp Makefile.config.example Makefile.config

4. 配置Makefile.config文件(仅列出修改部分)

a. 启用CUDNN,去掉"#"(目前caffe-master仍然只支持R1版本)

USE_CUDNN := 1

b. 启用GPU,添加注释"#"

# CPU_ONLY := 1

c. 配置一些引用文件(增加部分主要是解决新版本下,HDF5的路径问题)

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/lib/x86_64-linux-gnu/hdf5/serial/include

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial

d. 启用Intel Parallel Studio XE 2015 Professional Edition for C++ Linux

BLAS := mkl

e. 配置路径,实现caffe对Python和Matlab接口的支持

PYTHON_LIB := /usr/local/lib

MATLAB_DIR := /usr/local/MATLAB/R2014a

5. 配置Makefile文件(实现对OpenCV 3.x的支持)

查找“Derive include and lib directories”一节,修改“LIBRARIES +=”的最后一行,增加opencv_imgcodecs

opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs

6. 编译caffe-master!!!"-j8"是使用CPU的多核进行编译,可以极大地加速编译的速度,建议使用。

$ make all -j8

$ make test -j8

$ make runtest -j8

编译Python和Matlab用到的caffe文件

$ make pycaffe -j8

$ make matcaffe -j8

六、使用MNIST数据集进行测试

Caffe默认情况会安装在$CAFFE_ROOT,就是解压到那个目录,例如:$ home/username/caffe-master,所以下面的工作,默认已经切换到了该工作目录。下面的工作主要是,用于测试Caffe是否工作正常,不做详细评估。具体设置请参考官网:

1. 数据预处理

$ sh data/mnist/get_mnist.sh

2. 重建lmdb文件。Caffe支持三种数据格式输入网络,包括Image(.jpg, .png等),leveldb,lmdb,根据自己需要选择不同输入吧。

$ sh examples/mnist/create_mnist.sh

生成mnist-train-lmdb 和 mnist-train-lmdb文件夹,这里包含了lmdb格式的数据集

3. 训练mnist

$ sh examples/mnist/train_lenet.sh

至此,Caffe安装的所有步骤完结,下面是一组简单的数据对比,实验来源于MNIST数据集,主要是考察一下不同系统下CPU和GPU的性能。可以看到明显的差别了,虽然MNIST数据集很简单,相信复杂得数据集,差别会更大,Ubuntu+GPU是唯一的选择了。

测试平台1:i7-4770K/16G/GTX 770/CUDA 6.5

MNIST Windows8.1 on CPU:620s

MNIST Windows8.1 on GPU:190s

MNIST Ubuntu 14.04 on CPU:270s

MNIST Ubuntu 14.04 on GPU:160s

MNIST Ubuntu 14.04 on GPU with cuDNN:30s

Cifar10_full on GPU wihtout cuDNN:73m45s = 4428s (Iteration 70000)

Cifar10_full on GPU with cuDNN:20m7s = 1207s (Iteration 70000)

测试平台2:技嘉P35X v3,i7-4720HQ@2.6G/16G/NVidia GTX 980 4G

MNIST Ubuntu 15.04 on GPU with cuDNN:33s

对比测试1:2*E5-2620(12CPUs)/128G/Tesla K20M/CUDA5.5/CentOS 6.4

MNIST CentOS 6.4 on GPU:294s

对比测试2:Tesla K40M/CUDA6.5/ubuntu 14.04

MNIST on GPU with cuDNN:30s

对比测试3:GTX 660/CUDA6.5/ubuntu 14.04

MNIST on GPU with cuDNN:49s

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14723.html