配置目标:cuda8.0 + cudnn + opncv3.1 + matlab-R2014a + mkl
服务器配置:
显卡:k80
系统:ubuntu14.04(64位)
安装步骤:
1. 安装gcc:
安装完成后,通过nvidia-smi命令查询是否安装成功:
然后配置cuda环境:
$ sudo gedit /etc/ld.so.conf.d/cuda.conf
在新建文件中输入:
/usr/local/cuda/lib64
/lib
保存,并执行命令:sudo ldconfig -v
4. 配置cudnn
$ tar zxvf cudnn-8.0-linux-x64-v5.1.tgz
$ cd cuda
$ sudo cp include/cudnn.h /usr/local/include
$ sudo cp lib64/libcudnn.* /usr/local/lib
$ sudo ln -sf /usr/local/lib/libcudnn.so.5.1.3 /usr/local/lib/libcudnn.so.5
$ sudo ln -sf /usr/local/lib/libcudnn.so.5 /usr/local/lib/libcudnn.so
$ sudo ldconfig -v
#include "precomp.hpp"
// GraphCut has been removed in NPP 8.0
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)
void cv::cuda::graphcut(GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, Stream&) { throw_no_cuda(); }
void cv::cuda::graphcut(GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, GpuMat&, Stream&) { throw_no_cuda(); }
6) $ mkdir build
7) $cd build
8) $ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
在configure过程中过程中,可能会出现下面的错误:
-- ICV: Downloading ippicv_linux_20151201.tgz...
在直接下载该文件的过程中,会因为超时而失败,多运行几次就好了
9) $ make -j16 (16核并行编译)10) $ sudo make install
6. 安装mkl
1) 在官网中注册下载
下载页面中的serial number在安装过程中需要。
2) 安装
$ tar zxvf parallel_studio_xe_2017.update1.tar.gz
$ cd parallel_studio_xe_2017
$ sudo sh ./install.sh
$ sudo gedit /etc/ld.so.conf.d/intel_mkl.conf
/opt/intel/lib/intel64
/opt/intel/mkl/lib/intel64
$ sudo ldconfig -v
$ sudo /usr/local/MATLAB/R2014A/bin/activate_matlab.sh -propertiesFile /usr/local/MATLAB/R2014A/etc/activate.ini
其中activate.ini的内容:
isSilent=true #开启silent模式
activateCommand=activateOffline #设置激活方式, 离线激活 无需联网
licenseFile= /usr/local/MATLAB/R2014A/etc/license_405329_R2014a.lic #license文件位置
其中*.lic从crack里面cp到/usr/local目录下即可
3) Crack/Linux下的libmwservices.so 复制到 /usr/local/MATLAB/R2014A/bin/glnxa64
$ sudo apt-get install gcc-4.7 g++4.7
$ sudo rm gcc
$ sudo ln -sf gcc-4.7 gcc
8. 安Anaconda
下载[Anaconda]
9. 安装caffe
1)安装依赖包
$ sudo apt-get install libatlas-base-dev
$ 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
2)下载caffe
$ git clone --recursive https://github.com/BVLC/caffe.git
3)配置Makefile.config文件:
修改部分:
USE_CUDNN := 1 #启用cudnn
...
OPENCV_VERSION := 3 #启用opencv
...
CUDA_DIR := /usr/local/cuda
...
BLAS := mkl #启用mkl
...
MATLAB_DIR := /usr/local/MATLAB/R2014a#实现caffe对matlab接口的支持
...
ANACONDA_HOME := $(HOME)/anaconda2
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \ $(ANACONDA_HOME)/include/python2.7 \ $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/includePYTHON_LIB := $(ANACONDA_HOME)/lib
...
4.编译:
$ makeall-j32
$ make test-j32
$ make runtest-j32
$ make pycaffe-j32
$ make matcaffe-j32
[注]
1) 在运行相关程序是如果报错:ImportError: No module named google.protobuf.internal, 解决方法:pip install protobuf==2.6.0
2)报错:Check failed: registry.count(type) == 1 (0 vs. 1) Unknown layer type: Python, 解决方法,在Makefile.config文件里面添加WITH_PYTHON_LAYER :=1,
然后重新编译
[1]http://blog.csdn.net/shiorioxy/article/details/52652831
[2]http://blog.csdn.net/hjimce/article/details/48781693