caffe+cuda7.0+opencv3.0.0+mkl ubuntu14.04配置

今天终于配置成功了caffe,花了我整整三天啊,fuck!不过我看一些blog,有的说花了半个月,我也就平衡了。废话少说,切入正题。

其实网上大部分教程是cuda6.5+opencv2.4.10,但近期如果下载cuda的话,只有cuda7.0,如果用openc2.10的话,编译opencv的时候就会报错,所以只能现在opencv3.0.用cuda7.0+opencv3.0配置完,编译caffe的时候又会出错,因为opencv3.0有些变动,需要改一下caffe里的makefile文件(具体见下文)。详细过程如下:


我用的linux版本是ubuntu14.04.02,这次安装caffe也是在安装系统后直接安装的,可以说是在纯净版的ubuntu上装的(安装的时候我没有选择联网,也没有安装第三方软件,安装完后也没有升级,推荐安装英文版,中文版没试过,估计会有各种问题),安装过程大家可以自行搜索,推荐留出100G以上空间。

本文主要包含4个部分,包括:

  • 第一部分 nVidia驱动和CUDA Toolkit的安装和调试
  • 第二部分 opencv3.0.0安装和调试
  • 第三部分 mkl安装和调试
  • 第四部分 Python、Matlab安装和调试
  • 第五部分 Caffe的安装和测试

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

一、Verify You Have a CUDA-Capable GPU

执行下面的操作,然后验证硬件支持GPU CUDA,只要型号存在于https://developer.nvidia.com/cuda-gpus,就没问题了

二、Verify You Have a Supported Version of Linux

重点是“x86_64”这一项,保证是x86架构,64bit系统

三、Verify the System Has gcc Installed

没有的话就先安装吧,这个是必须的用来编译CUDA Toolkit,不过Ubuntu 14.04是默认有的

四、Download the NVIDIA CUDA Toolkit

下载地址:https://developer.nvidia.com/cuda-toolkit 下载deb 文件

验证地址:https://developer.nvidia.com/rdp/cuda-rc-checksums

例如:md5sum cuda_7.0.23_linux_64.run ,这个文件的正确 md5 = (具体数值我记不得了,只要出现值了,一般没问题)

五、Handle Conflicting Installation Methods

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

二、CUDA Toolkit

三、Environment Variables

PS:如果出现安装失败,重启系统,重新安装一遍基本都可以解决,实在不行就卸载原来的驱动再安装一遍。

a. 卸载现有驱动

b. 重装CUDA Toolkit

十二. cuda环境配置:

/usr/local/cuda/lib64

/lib

. 完成lib文件的链接操作,执行:


第二部分:opencv3.0.0的安装和调试

网上大部分教程是下载编译好的安装包,我安装后问题很多,不如自己下载编译,自己亲自动手实践后才能记得住,很简单。 下载官网原版OpenCV:http://opencv.org/
  1. cd ~/opencv
    mkdir release
    cd release
    cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. (注意后面有两个点
  2. Enter the created temporary directory (<cmake_binary_dir>) and proceed with:

    make
    sudo make install
  3. 配置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安装配置完毕

第三部分:mkl的安装和调试

首先下载并安装英特尔® 数学内核库 Linux* 版MKL,下载链接是:https://software.intel.com/en-us/intel-education-offerings, 请下载Student版,先申请,然后会立马收到一个邮件(里面有安装序列号),打开照着下载就行了。下载完之后,解压文件

一、接下来是安装过程,先授权,然后安装:

$ cd (压缩包所在路径)

下面的步骤就是一步步点next了(我的在prerequsition中会警告说缺少lib32库,忽略即可)

二、MKL与CUDA的环境设置

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

/opt/intel/lib/intel64

/opt/intel/mkl/lib/intel64

2. 完成lib文件的链接操作,执行:

第四部分 Python。matlb安装和调试

1. 安装python IDE运行环境

选择一个适合你的IDE运行环境,我是用的是Spyder,因为它内置了 iPython 环境,Caffe有不少的程序是基于 iPython 环境完成的。安装方法很简单,直接在Ubuntu软件中心搜索“spyder”即可安装。

2、maltb安装过程,(请参考其他教程,破解和window下一样)

第五部分 Caffe的安装和测试

官网下载caffe包https://github.com/BVLC/caffe/

一、安装其他依赖项

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. 切换到Caffe的下载文件夹,然后执行:

修改新生成的Makefile.config文件,修改“BLAS := mkl”,这个非常重要。

3.修改Makefile文件(不是Makefile.config)

在位置((LIBRARIES += glog gflags protobuf leveldb snappy \
lmdb boost_system hdf5_hl hdf5 m \
opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs))处

添加opencv_imgcodecs

这一步非常重要,否则编译后会出现错误如下:

CXX/LD -o .build_release/tools/convert_imageset.bin
.build_release/lib/libcaffe.so: undefined reference to cv::imread(cv::String const&, int)'.build_release/lib/libcaffe.so: undefined reference tocv::imencode(cv::String const&, cv::_InputArray const&, std::vector >&, std::vector > const&)'

原因就是opencv3.0.0把imread相关函数放到imgcodecs.lib中了,而非原来的imgproc.lib

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

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

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

1. 数据预处理

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

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

3. 训练mnist

这时你会在终端窗口中看到caffe的训练过程


至此配置caffe的工作已经完成了

补充:

1、我还没有配置cuDNN,后续会补上

2、安装过程中如果出现问题,请google,百度之,一般都会有人遇到类似问题,实在解决不了,不要浪费时间,重装系统虽然麻烦,但是上上策,重装个一两遍,根本不是事啊。



你可能感兴趣的:(ubuntu,CUDA,CUDA,opencv,nVidia,caffe)