Ubuntu 16.04+CUDA8.0+MKL+OpenCV3.2+Matlab R2016b+Caffe安装(5)

#error-- unsupported GNU version! gcc versions later than 4.9 are not supported! 改为 //#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!

(6)编译caffe

make -j4 #-j根据自己电脑配置决定
编译过程中可能会出现如下错误:
错误内容1:
"fatal error: hdf5.h: 没有那个文件或目录"
解决办法:
step1:在Makefile.config文件的第85行,添加/usr/include/hdf5/serial/ 到 INCLUDE_DIRS,也就是把下面第一行代码改为第二行代码。
将:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
替换为:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
stept2:在Makefile文件的第173行,把 hdf5_hl 和hdf5修改为hdf5_serial_hl 和 hdf5_serial,也就是把下面第一行代码改为第二行代码。
将:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
改为:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
错误内容2:
"libcudnn.so.5 cannot open shared object file: No such file or directory"
解决办法是将一些文件复制到/usr/local/lib文件夹下:
#注意自己CUDA的版本号!

sudo cp /usr/local/cuda-8.0/lib64/libcudart.so.8.0 /usr/local/lib/libcudart.so.8.0 && sudo ldconfig sudo cp /usr/local/cuda-8.0/lib64/libcublas.so.8.0 /usr/local/lib/libcublas.so.8.0 && sudo ldconfig sudo cp /usr/local/cuda-8.0/lib64/libcurand.so.8.0 /usr/local/lib/libcurand.so.8.0 && sudo ldconfig sudo cp /usr/local/cuda-8.0/lib64/libcudnn.so.5 /usr/local/lib/libcudnn.so.5 && sudo ldconfig

make test -j4

make runtest

若runtest报错,则尝试在~/.bashrc文件末尾添加输入一行export MKL_CBWR=AUTO,即

sudo gedit ~/.bashrc 

export MKL_CBWR=AUTO     #打开的文件末尾加入该行,然后保存退出。 

sudo ldconfig            #编译立即生效 

再编译:

make clean 

make -j4 

make test -j4 

make runtest  

(7)编译pycaffe

a)准备Python环境

sudo apt-get update

sudo apt-get install python-pip python-dev python-numpy

sudo apt-get install gfortran

sudo pip install -r ${CAFFE_ROOT}/python/requirements.txt  #${CAFFE_ROOT}为caffe根路径

sudo pip install pydot

b)Anaconda需要将caffe头文件进行链接(不是Anaconda,则直接编译:make pycaffe):

sudo gedit ~/.bashrc

export PYTHONPATH="/home/jeson/caffe/python:$PYTHONPATH"

保存后:

sudo ldconfig 

make pycaffe 

make distribute 

ipython 

import caffe

(8)编译matcaffe(gcc可以不用降级,我降级后caffe一直编译不通过,后面才发现不降级也可以用)

将matlab下的libstdc++.so.6 更改名称为libstd++.so.6_back(让matlab找不到这个),这样在执行matlab编译的时候会自动去找系统用的库。具体为:

cd /usr/local/MATLAB/R2014a/sys/os/glnxa64/ 

sudo mv libstdc++.so.6 libstdc++.so.6_back 

sudo ldconfig 

cd ~/caffe/ 

make matcaffe   (会有警告gcc版本不支持,可忽略,后面会提示Mex成功)

make mattest  

若编译成功,但在调用matcaffe接口时报错,如:

"libcudart.so.8.0 cannot open shared object file: No such file or directory"

则,可用ldd命令查看caffe_.mexa64所依赖的所有库文件路径,在终端中执行:

ldd external/caffe/matlab/caffe_faster_rcnn/+caffe/caffe_.mexa64

在Matlab命令窗口中执行:

!ldd external/caffe/matlab/caffe_faster_rcnn/+caffe/caffe_.mexa64

对比两者的结果,找出所依赖库文件路径不一致的地方,进行修改。

可将这些文件链接或复制到Matlab路径下(/usr/local/MATLAB/R2016b/bin/glnxa64/)或系统路径/usr/local/lib(Matlab中相应的文件应删除或重命名)。

我解决的方案是链接到Matlab路径下:

sudo ln -sf /usr/local/cuda-8.0/lib64/libcudart.so.8.0 /usr/local/MATLAB/R2016b/bin/glnxa64/libcudart.so.8.0

sudo ln -sf /usr/local/cuda-8.0/lib64/libcublas.so.8.0 /usr/local/MATLAB/R2016b/bin/glnxa64/libcublas.so.8.0

sudo ln -sf /usr/local/cuda-8.0/lib64/libcurand.so.8.0 /usr/local/MATLAB/R2016b/bin/glnxa64/libcurand.so.8.0

至此,caffe配置和编译结束。

Ubuntu 14.04下安装Matlab2013a

Ubuntu Server上安装Matlab

Ubuntu 16.04 LTS 安装 MATLAB 2014b 

Matlab编译cuda的.cu文件

Linux Matlab服务器进一步改造成Application Server(应用程序服务器)

Matlab 坐标图动画,动态显示数据

Ubuntu 14.04安装Matlab2012a过程

Ubuntu 16.04 安装配置MATLAB+Python +CUDA8.0+cuDNN+OpenCV3.1的Caffe环境   

精通 MATLAB 7.0 混合编程 清晰中文PDF版 

Ubuntu 15.04 下Caffe + + CUDA 7.0 安装配置指南 

Caffe 深度学习入门教程 

Ubuntu 16.04下Matlab2014a+Anaconda2+OpenCV3.1+Caffe安装

Ubuntu 16.04系统下CUDA7.5配置Caffe教程

Caffe在Ubuntu 14.04 64bit 下的安装

深度学习框架Caffe在Ubuntu下编译安装 

Caffe + Ubuntu 14.04 64bit + CUDA 6.5 配置说明 

Ubuntu 16.04上安装Caffe

Caffe配置简明教程 ( Ubuntu 14.04 / CUDA 7.5 / cuDNN 5.1 / OpenCV 3.1 ) 

Ubuntu 16.04安装 Caffe GPU版 

Ubuntu 16.04上安装Caffe(CPU only) 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/13359.html