今天终于配置成功了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个部分,包括:
一、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文件的链接操作,执行:
cd ~/opencv mkdir release cd release cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. (注意后面有两个点)
Enter the created temporary directory (
make sudo make install
配置openCV参数设置
sudo gedit/etc/ld.so.conf.d/opencv.conf 末尾加入/usr/local/lib
使用下面这条命令:
sudo ldconfig
sudo gedit/etc /bash.bashrc 加入:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
至此,OpenCV安装配置完毕
首先下载并安装英特尔® 数学内核库 Linux* 版MKL,下载链接是:https://software.intel.com/en-us/intel-education-offerings, 请下载Student版,先申请,然后会立马收到一个邮件(里面有安装序列号),打开照着下载就行了。下载完之后,解压文件
一、接下来是安装过程,先授权,然后安装:
$ cd (压缩包所在路径)
二、MKL与CUDA的环境设置
1. 新建intel_mkl.conf, 并编辑之:
/opt/intel/lib/intel64
/opt/intel/mkl/lib/intel64
2. 完成lib文件的链接操作,执行:
1. 安装python IDE运行环境
选择一个适合你的IDE运行环境,我是用的是Spyder,因为它内置了 iPython 环境,Caffe有不少的程序是基于 iPython 环境完成的。安装方法很简单,直接在Ubuntu软件中心搜索“spyder”即可安装。
2、maltb安装过程,(请参考其他教程,破解和window下一样)
一、安装其他依赖项
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 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的多核进行编译,可以极大地加速编译的速度,建议使用。
四、使用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,百度之,一般都会有人遇到类似问题,实在解决不了,不要浪费时间,重装系统虽然麻烦,但是上上策,重装个一两遍,根本不是事啊。