ubuntu16.04下安装anaconda3+caffe+cuda8.0+cudnnv5.1+matlab R2015b以及出现的错误

一、安装顺序

我是先安装anaconda3(python3.6.6),然后安装cuda9.0+cudnnv7,最后从官网下载caffe(linux版)进行caffe编译的,最后安装matlabR2015b

ubuntu16.04截图快捷键:对整个屏幕 Pr Scrn ,对某一个窗口alt+Pr Scrn,对一个区域(自定义的区域)shift+Pr Scrn

二、anaconda3的安装

这部分以及cuda9.0的安装网上有很多博客都说的很明白,一般没有什么太大问题,安装完毕记得添加环境变量

1、anaconda3添加环境变量:

终端输入:sudo gedit ~/.bashrc

export PATH="/home/zyn/anaconda3/bin:$PATH"\

2、卸载之前的cuda9.0

sudo /usr/local/cuda-9.0/bin/uninstall_cuda_9.0.pl

sudo rm -rf /usr/local/cuda-9.0

3、在网上找教程安装cuda8.0(ubuntu下64位的且是deb版本的,runfile版本的比较难安装)

三、编译caffe

首先安装caffe依赖包,此时不在caffe目录下,而是在比如zyn@zyn-xps-8700:~$下

1、sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libhadf5-serial-dev protobuf-compiler

sudo apt-get install --no-install-recommends libboost-all-dev

sudo apt-get install libatlas-base-dev

sudo apt-get install cmake

sudo apt-get libgflags-dev libgoogle-glog-dev liblmdb-dev

sudo apt-get install build_essential

一定要确保上述依赖包全部安装成功,如若不成功,可先尝试终端输入sudo apt-get update以后再次安装

2、如果需要使用caffe的python接口,则需要安装/home/zyn/caffe/python下面的requirements.txt里面要求的所有包

可以安装依赖sudo apt-get install python-dev python-numpy

                       sudo apt-get gfortran(这句主要是为了成功安装scipy的,否则可能scipy安装不成功)

                       sudo apt-get python-scipy

注:上述python依赖我是安装了的,因为我们之前已经安装了anaconda,所以这一步也许可以省略掉,我不是很确定,开始我是没有安装这些依赖,后来安装了下,可以试试先不安装

在caffe目录下输入cd ./python

                               for req in $(cat requirements.txt); do pip install $req; done

然后就可以看到这个txt里面列出的包是否已经全部成功安装。

3、关于opencv的安装

其实不用专门安装opencv的,后面需要的caffe接口matlab里面自带的有opencv,python里面也可以通过pip install python-opencv来安装。在我将要运行的代码里面没有使用opencv

4、配置Makefile.config

在caffe根目录下输入:cp Makefile.config.examples Makefile.config

然后修改Makefile.config,caffe根目录下继续输入sudo gedit Makefile.config

在文件中可以通过ctrl+f来查找某一行

去掉USE_CUDNN := 1的注释,去掉USE_OPENCV:=1的注释,由于我没有使用opencv,所以网上说的opencv_version:=3的注释我没有去掉。

使用cuda8.0,去掉-gencode arch=compute_20,code=sm_20 \
        -gencode arch=compute_20,code=sm_21 \

#MATLAB_DIR := /usr/local改为你自己的路径,并去掉注释:MATLAB_DIR := /home/zyn/MATLAB/R2015b

我在这个编译里没有使用anaconda的python,使用系统自带的,所以

PYTHON_INCLUDE := /usr/include/python2.7 \
        /usr/lib/python2.7/dist-packages/numpy/core/include

【注:如果你们使用anaconda的python,可以将上述注释掉,然后修改下列代码就行了(去掉注释,改成自己的版本)

#ANACONDA_HOME := $(HOME)/anaconda3
 #PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
         #$(ANACONDA_HOME)/include/python3.6m \
         #$(ANACONDA_HOME)/lib/python3.6m/site-packages/numpy/core/include

# PYTHON_LIBRARIES := boost_python3 python3.6m】

取消WITH_PYTHON_LAYER := 1的注释

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

改为:

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial

5、配置Makefile文件,这个文件在caffe的目录下,注意不是Makefile.config文件

在181行将LIBRARIES += glog gflags protobuf boost_system boost_filesystem m 修改为

LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial

第大概425行将NVCCFLAGS += -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

修改为NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

以上就配置完毕,下面开始编译

四、caffe编译

在caffe目录下进入终端输入:sudo make all -j8

                                                    sudo make test

                                                     sudo make runtest -j8

编译matlab接口:sudo make matcaffe这里可能会提示你gcc版本不超过×××,不用理会,也不用对gcc进行降级啥的,

然后sudo make mattest -j8

这里一般会出现错误,说什么无效的mex文件啥的,最后出来个caffe.set_mode_gpu()或者caffe.set_mode_cpu()错误啥的,忘记了怎么修改的,但好像是与.bashrc文件有关

我的bashrc文件如图所示,当在python下面输入import caffe不成功的时候在.banshrc文件中输入

export PYTHONPATH=/home/zyn/caffe/python:$PYTHONPATH(下图中第124行)

    五、在matlab里面运行caffe程序

可以在命令窗口中输入 cd path

    然后进入.m程序所在的文件夹,执行程序

六、出现的错误之一(只截图这一个)

       就在终端中输入locate libtiff.so.5(这个文件名是可以改变的,就看你哪个出现没有版本信息了)

然后输入 cp /usr/lib/x86_64-linux-gnu /home/zyn/anaconda3/bin/libtiff.so.5即可,然后问题就会解决了

七、忘记是哪一步出现错误了,问题是这么解决的(错误描述大概是找不到libstdc++.so.6,然后把这个文件移除并用/usr/lib/x86_64-linux-gnu/libstdc++.so.6替换它,之后又出现新的问题,说是什么invalidate:大写字母),就用下面的解决办法,在caffe目录下执行,注意换成你的matlab路径

sudo rm -rf /home/zyn/MATLAB/R2015b/sys/os/glnxa64/libstdc++.so.6
sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21 /home/zyn/MATLAB/R2015b/sys/os/glnxa64/libstdc++.so.6
sudo rm -rf /home/zyn/MATLAB/R2015b/bin/glnxa64/libopencv_core.so.2.4
sudo ln -s /usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4.9  /home/zyn/MATLAB/R2015b/bin/glnxa64/libopencv_core.so.2.4
sudo rm -rf /home/zyn/MATLAB/R2015b/bin/glnxa64/libopencv_imgproc.so.2.4
sudo ln -s /usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.2.4.9  /home/zyn/MATLAB/R2015b/bin/glnxa64/libopencv_imgproc.so.2.4
sudo rm -rf /home/zyn/MATLAB/R2015b/bin/glnxa64/libopencv_highgui.so.2.4
sudo ln -s /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4.9  /home/zyn/MATLAB/R2015b/bin/glnxa64/libopencv_highgui.so.2.4
sudo rm -rf /home/zyn/MATLAB/R2015b/bin/glnxa64/libfreetype.so.6
sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so.6  /home/zyn/MATLAB/R2015b/bin/glnxa64/libfreetype.so.6

八、启动matlab时出现一堆类似于警告的东西比如

uname: /home/zyn/MATLAB/R2015b/bin/glnxa64/libtiff.so.5: no version information available (required by /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4)
sed: /home/zyn/MATLAB/R2015b/bin/glnxa64/libtiff.so.5: no version information available (required by /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4)
getconf: /home/zyn/MATLAB/R2015b/bin/glnxa64/libtiff.so.5: no version information available (required by /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4)
awk: /home/zyn/MATLAB/R2015b/bin/glnxa64/libtiff.so.5: no version information available (required by /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4)
awk: /home/zyn/MATLAB/R2015b/bin/glnxa64/libtiff.so.5: no version information available (required by /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4)
/home/zyn/MATLAB/R2015b/bin/glnxa64/MATLAB: /home/zyn/MATLAB/R2015b/bin/glnxa64/libtiff.so.5: no version information available (required by /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4)
sh: /home/zyn/MATLAB/R2015b/bin/glnxa64/libtiff.so.5: no version information available (required by /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4)
ps: /home/zyn/MATLAB/R2015b/bin/glnxa64/libtiff.so.5: no version information available (required by /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4)
/bin/sh: /home/zyn/MATLAB/R2015b/bin/glnxa64/libtiff.so.5: no version information available (required by /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4)
grep: /home/zyn/MATLAB/R2015b/bin/glnxa64/libtiff.so.5: no version information available (required by /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4)
grep: /home/zyn/MATLAB/R2015b/bin/glnxa64/libtiff.so.5: no version information available (required by /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4)
grep: /home/zyn/MATLAB/R2015b/bin/glnxa64/libtiff.so.5: no version information available (required by /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4)
解决方式:在/home/zyn/MATLAB/R2015b下启动终端输入sudo ./matlab就可以无警告的打开matlab了。

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值