Caffe + Ubuntu 15.04 + CUDA 7.0 安装以及配置

本分分为四个部分,在Ubuntu上调试执行成功。第一部分:nVidia驱动和CUDA Toolkit的安装和调试;第二部分 Python安装和调试;第三部分 Matlab安装和调试;第四部分 Caffe的安装和測试。

第一部分:nVidia驱动和CUDA Toolkit的安装和调试

这里以CUDA 7.0为例。

一、CUDA Repository

获取CUDA安装包,安装包请自行去NVidia官网下载。

二、CUDA Toolkit

三、Environment Variables

第二部分 Python安装和调试

1. 安装IDE执行环境

选择一个适合你的IDE执行环境,我是用的是Spyder。由于它内置了 iPython 环境,Caffe有不少的程序是基于 iPython 环境完毕的。安装方法非常easy,直接在Ubuntu软件中心搜索“spyder”就可以安装。

2. iPython NoteBook 安装

另外一个比較推荐的方法是使用iPyhthon NoteBook(基于浏览器的Python IDE),特别是适合须要用Python做教程的老师们。能够直接导出.py, .ipynb, html格式,安装过程例如以下:

启动(自己主动打开浏览器):

$ ipython notebook

一个简单的使用iPython NoteBook生成的html的样例:examples_notebook.htmlexample_notebook.ipynb

3. 配置和编译pycaffe

第三部分 Matlab安装和调试

1. 降级安装gcc/g++版本号为4.7.x

(1). 下载gcc/g++ 4.7.x

(2). 链接gcc/g++实现降级

2. 暴力引用新版本号GLIBCXX_3.4.20

通过命令“strings /usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6 | grep GLIBCXX_” 能够看一下。是否已经成功包括了GLIBCXX_3.4.20。假设已经存在,基本上就成功了。

6.编译Matlab用到的caffe文件(见第五部分)

第四部分 Caffe的安装和測试

在caffe的github上下载安装包,解压得到caffe-master目录。

一、安装BLAS

这里能够选择(ATLAS,MKL或者OpenBLAS)。这里使用MKL。

二、MKL与CUDA的环境设置

1. 新建intel_mkl.conf, 并编辑之:

/opt/intel/lib/intel64

/opt/intel/mkl/lib/intel64

2. 新建cuda.conf,并编辑之:

/usr/local/cuda/lib64

/lib

3. 完毕lib文件的链接操作。运行:

  1. Create a temporary directory, which we denote as <cmake_binary_dir>, where you want to put the generated Makefiles, project files as well the object files and output binaries.

  2. Enter the <cmake_binary_dir> and type

    cmake [<some optional parameters>] <path to the OpenCV source directory>
    

    For example

    cd ~/opencv
    mkdir release
    cd release
    cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
    
  3. Enter the created temporary directory (<cmake_binary_dir>) and proceed with:

    make
    sudo make install
  4. 配置openCV參数设置
    sudo gedit /etc/ld.so.conf.d/opencv.conf
    sudo ldconfig
    sudo gedit /etc/bash.bashrc 增加:
    PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
    export PKG_CONFIG_PATH
    至此。OpenCV安装配置完成

四、安装其它依赖项

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

假设没有权限就chmod a+x glog-0.3.3 -R , 或者索性 chmod 777 glog-0.3.3 -R , 装完之后,这个目录就能够kill了。

2. 其它依赖项。确保都成功

五、安装Caffe并測试

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

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

a. 安装cuDNN

该改版本号caffe-master默认支持cudnn-6.5-linux-x64-v2,安装前请去先官网下载最新的cuDNN。建议安装v3版本号,把一下对应6.5改成7.0就可以。方法一样。

b. 链接cuDNN的库文件

3. 从github上下载caffe,为Caffe-master的目录。cd进去,生成Makefile.config配置文件。运行:

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

sudo gedit 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

温馨提示:ctr+f搜索在后面加入多余的内容

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

f. 启用python_layer

WITH_PYTHON_LAYER :=1

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

sudo gedit Makefile

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

opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs

6. 编译caffe-master!!!

一定要重新启动电脑,重新启动电脑。由于显卡驱动装完须要重新启动才干生效,本人在这里搞了两次。后来才发现问题的本质,哎。"-j8"是使用CPU的多核进行编译。能够极大地加速编译的速度,建议使用。

编译Python和Matlab用到的caffe文件

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

cd进入caffe-master文件夹下

1. 数据预处理

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

生成mnist-train-lmdb 和 mnist-train-lmdb目录。这里包括了lmdb格式的数据集

3. 训练mnist

至此,Caffe安装的全部步骤完结,以下是一组简单的数据对照,实验来源于MNIST数据集,主要是考察一下不同系统下CPU和GPU的性能。能够看到明显的区别了。

本人在配置caffe环境的过程中,參考了下面博客,特此说明:

【1】http://ouxinyu.github.io/Blogs/20140723001.htmlCaffe + Ubuntu 15.04 + CUDA 7.0 新手安装配置指南

【2】http://blog.csdn.net/yaoxingfu72/article/details/45363097caffe+cuda7.0+opencv3.0.0+mkl ubuntu14.04配置

【3】http://docs.opencv.org/doc/tutorials/introduction/linux_install/linux_install.html#linux-installation