实验室亲测好用:
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 下载.run 文件
验证地址:https://developer.nvidia.com/rdp/cuda-rc-checksums
例如:md5sum cuda_7.0.23_linux_64.run ,这个文件的正确 md5 = (具体数值我记不得了,只要出现值了,一般没问题)
五、Handle Conflicting Installation Methods
根据官网介绍,之前安装的版本都会有冲突的嫌疑
所以,之前安装的Toolkit和Drievers就得卸载,屏蔽,等等
六、Graphical Interface Shutdown
退出GUI,也就是X-Win界面,操作方法是:同时按:CTRL+ALT+F1(F2-F6),切换到TTY1-6命令行模式。
关闭桌面服务:
七、Interaction with Nouveau
Nouveau是一个开源的显卡驱动,Ubuntu 14.04 默认安装了,但是它会影响nVidia驱动的安装,所以只有请他回老家了,sorry!
写入:
blacklist nouveau
options nouveau modeset=0
保存并退出:
wq!
$ sudo update-initramfs -u
八、Installation CUDA 6.5
切换到cuda_7.0.23_linux_64.run 所在的目录,然后执行安装命令:
这里会一路问你各种问题,基本上就是Accept-yes-Enter-yes-Enter-yes-Enter, 其实就是让你接受协议,然后安装的默认位置确认等等,recruit就别自定义安装位置了,默认才是天堂。
九、Extra Libraries
安装一些必要的库文件,譬如:OpenGL (e.g., Mesa), GLU, GLUT, and X11 (including Xi, Xmu, and GLX).
十、驱动装完了,可以回到GUI界面了,也可以继续留这里玩文本。。。
十一、POST-INSTALLATION ACTIONS
1. Environment Setup
PS:如果出现安装失败,重启系统,重新安装一遍基本都可以解决,实在不行就卸载原来的驱动再安装一遍。
a. 卸载现有驱动
b. 重装CUDA Toolkit
十二. cuda环境配置:
/usr/local/cuda/lib64
/lib
. 完成lib文件的链接操作,执行:
第二部分: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 (压缩包所在路径)
下面的步骤就是一步步点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 tocv::imread(cv::String
cv::imencode(cv::String
const&, int)'.build_release/lib/libcaffe.so: undefined reference to
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,百度之,一般都会有人遇到类似问题,实在解决不了,不要浪费时间,重装系统虽然麻烦,但是上上策,重装个一两遍,根本不是事啊。