您的位置:首页 > Web前端

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

2015-04-29 10:21 591 查看
今天终于配置成功了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,就没问题了

$ lspci | grep -i nvidia

二、Verify You Have a Supported Version of Linux

$ uname -m && cat /etc/*release

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

三、Verify the System Has gcc Installed

$ gcc --version

没有的话就先安装吧,这个是必须的用来编译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 filename

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

五、Handle Conflicting Installation Methods

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

$ sudo dpkg -i cuda-repo-ubuntu1410-7-0-local_7.0-28_amd64.deb

$ sudo apt-get update

二、CUDA Toolkit

$ sudo apt-get install -y cuda

三、Environment Variables

$ export CUDA_HOME=/usr/local/cuda-7.0

$ export LD_LIBRARY_PATH=${CUDA_HOME}/lib64

$ PATH=${CUDA_HOME}/bin:${PATH}

$ export PATH

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

a. 卸载现有驱动

$ sudo nvidia-installer --uninstall

b. 重装CUDA Toolkit

$ sudo sh cuda_7.0.23_linux_64.run

十二. cuda环境配置:

$ sudo gedit /etc/ld.so.conf.d/cuda.conf

/usr/local/cuda/lib64

/lib

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

$ sudo ldconfig -v


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

网上大部分教程是下载编译好的安装包,我安装后问题很多,不如自己下载编译,自己亲自动手实践后才能记得住,很简单。下载官网原版OpenCV:http://opencv.org/

cd ~/opencv
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. (注意后面有两个点)


Enter the created temporary directory (<cmake_binary_dir>) and proceed with:

make
sudo make install


配置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 (压缩包所在路径)

$ tar zxvf (压缩包名) (如果你是直接拷贝压缩文件过来的)

$ chmod a+x (压缩包名) -R

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

二、MKL与CUDA的环境设置

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

$ sudo gedit /etc/ld.so.conf.d/intel_mkl.conf

/opt/intel/lib/intel64

/opt/intel/mkl/lib/intel64

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

$ sudo ldconfig -v


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

1. 安装python IDE运行环境

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

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


第五部分 Caffe的安装和测试

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

[b]一、安装其他依赖项

[/b]



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

二、安装Caffe并测试

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

$ sudo apt-get install 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 protobuf-c-compiler protobuf-compiler

2. 切换到Caffe的下载文件夹,然后执行:

$ cp Makefile.config.example Makefile.config

修改新生成的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 to
cv::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的多核进行编译,可以极大地加速编译的速度,建议使用。

$ make all

$ make test

$ make runtest

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

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

1. 数据预处理

$ sh data/mnist/get_mnist.sh

2. 重建lmdb/leveldb文件。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的训练过程

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

补充:

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

2、安装过程中如果出现问题,请google,百度之,一般都会有人遇到类似问题,实在解决不了,不要浪费时间,重装系统虽然麻烦,但是上上策,重装个一两遍,根本不是事啊。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: