• Caffe初学者第二部:Ubuntu16.04上安装caffe(CPU)+Matlab2014a+Opencv3的详细过程 (亲测成功, 20180529更新)


     

    本博主开更啦!这次带来的教程是在Ubuntu16.04上安装caffe(CPU)+Matlab2014a+Opencv3的详细过程 (亲测成功)

    这是caffe初学者系列教程的第二部,旨在帮助更多对深度学习感兴趣的同学们!第一部可以参考以下地址:

    Caffe初学者第一部:Ubuntu14.04上安装caffe(CPU)+Python的详细过程 (亲测成功, 20180524更新)

    好啦,开始我们的教程吧!

    前言:

    之前的第一部教程发布以后,很受欢迎,看样子我的努力没白费,毕竟写博文花了我好几个小时,感谢同学们的支持啦^_^

    这个第二部教程是在我们实验室的TITAN上配置的,但是并未用到TITAN,根据教程,我在自己的笔记本上也配置成功了,硬件只需要CPU就可以了。

    很多教程说Ubuntu16.04安装caffe需要GCC降级,这里安装CPU版本Caffe+Matlab环境并未进行降级,编译时会有警告但是可以忽略,毕竟环境可以运行就OK的啦!接下来,跟着我的步伐,一步两步,一步一步似爪牙,似魔鬼的步伐~

    亲测教程:

    本教程需要准备的文件有:Ubuntu16.04, Opencv3(必要), Matlab2014a. 

    (1)Ubuntu16.04我下载的是Kylin版本,安装教程可以参考以下博客:

    https://blog.csdn.net/qq_20444875/article/details/78887768

    Ubuntu16.04下载地址直接复制到迅雷就可以下载:

    http://cdimage.ubuntu.com/ubuntukylin/releases/16.04/release/ubuntukylin-16.04.4-desktop-amd64.iso

    (2)Opencv3的安装(必要),参考以下博客:

    https://blog.csdn.net/CupidYzw97/article/details/74857467

    (3)Matlab2014a的安装,参考以下博客:

    https://www.cnblogs.com/nowornever-L/p/5649078.html

    至此,同学你应该装好上述环境了,接下来进入我们激动人心的时刻吧!

    Step1:打开终端,输入:

    sudo apt-get update
    

    Step2:安装必要的依赖:

    sudo apt-get install git
     
    sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
     
    sudo apt-get install build-essential
     
    sudo apt-get install --no-install-recommends libboost-all-dev
     
    sudo apt-get install libatlas-base-dev
     
    sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
    

    Step3:官网拉取源码:

    cd
    git clone https://github.com/BVLC/caffe.git
    

    注意第三步如果终端下载太慢,可以将该网址

    https://github.com/BVLC/caffe.git

    复制到浏览器地址栏,然后手动点击下载ZIP包,“caffe-master.zip”,之后解压到home文件夹即可,将解压出来的文件夹重命名为“caffe-matlab”。

    Step4:安装第二部分依赖:

    sudo apt-get install libblas-dev liblapack-dev libatlas-base-dev gfortran python-numpy
     
    sudo apt-get install python-pip
     
    sudo apt-get install python-numpy python-scipy python-matplotlib python-sklearn
     
    sudo apt-get install python-skimage python-h5py python-protobuf python-leveldb
     
    sudo apt-get install python-networkx python-nose python-pandas
     
    sudo apt-get install python-gflags Cython ipython
     
    sudo pip install --upgrade matplotlib
     
    sudo apt-get update
    

    Step5:修改Makefile.config配置文件:

    cd caffe-matlab
    cp Makefile.config.example Makefile.config
    sudo gedit Makefile.config
    

    修改4处:  

    将“CPU_ONLY”打开,改成: 

    CPU_ONLY := 1

    将“OPENCV_VERSION”打开,改成:

    OPENCV_VERSION := 3
    

    将Matlab路径配置一下,改成;

    MATLAB_DIR := /usr/local/MATLAB/R2014a
    

    将包含路径配置一下,改成:

    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/hdf5/serial
    

    Step6:修改Makefile文件:

    sudo gedit Makefile

    在CXXFLAGS += -MMP -MP下面加:

    CXXFLAGS += -std=c++11

    将:

    NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)

    替换为:

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

    Step7:手动加入环境变量,如下:

    sudo gedit ~/.bashrc 
    

    末尾加入:

    export PATH=$PATH:/usr/local/R2014a/bin 

    终端输入:

    export LD_LIBRARY_PATH=/usr/local/R2014a/sys/os/glnxa64  
    export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6  
    
    export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/:/usr/local/cuda-8.0/lib64  
    export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4:/usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.2.4:/usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4:/usr/lib/x86_64-linux-gnu/libstdc++.so.6:/usr/lib/x86_64-linux-gnu/libfreetype.so.6 

    注意这里,可能出现以下bash问题:

    处理bash问题解决办法:

    将 libopencv_imgproc.so.2.4, libopencv_core.so.2.4, libopencv_highgui.so.2.4三个文件拷贝到/usr/local/MATLAB/R2014a/bin/glnxa64/中

    sudo mv /usr/local/MATLAB/R2014a/bin/glnxa64/libopencv_imgproc.so.2.4 /usr/local/MATLAB/R2014a/bin/glnxa64/libopencv_imgproc.so.2.4.old
    
    sudo cp /usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.2.4 /usr/local/MATLAB/R2014a/bin/glnxa64/
    
    sudo mv /usr/local/MATLAB/R2014a/bin/glnxa64/libopencv_core.so.2.4 /usr/local/MATLAB/R2014a/bin/glnxa64/libopencv_core.so.2.4.old
    
    sudo cp /usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4 /usr/local/MATLAB/R2014a/bin/glnxa64/
    
    sudo mv /usr/local/MATLAB/R2014a/bin/glnxa64/libopencv_highgui.so.2.4 /usr/local/MATLAB/R2014a/bin/glnxa64/libopencv_highgui.so.2.4.old
    
    sudo cp /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4 /usr/local/MATLAB/R2014a/bin/glnxa64/

    终端输入:

    export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6

    Step8:编译及测试:

    sudo make clean
    sudo make all -j4
    sudo make test -j4
    
    sudo make runtest -j4
    sudo make matcaffe -j4
    sudo make distribute

    虽然有警告,但是可以忽略。

    测试时若出现问题,请参考以下博文排查:

    https://blog.csdn.net/rt5rte54654/article/details/54742981(安装好caffe之后配置Matlab的接口)

    https://blog.csdn.net/qq_33003797/article/details/79334923(远程服务器 ubuntu16.04 caffe+matlab r2014b+python+cpu-only配置(三))

    终端输入进行测试:

    make mattest

    若得到上图结果,表明caffe(CPU)+Matlab2014a环境配置成功,恭喜!

    至此,本教程结束!

    后续:

    本教程亲测成功,如有问题欢迎留言讨论。

    本教程只针对初学者安装最简单的Caffe(CPU)+ Matlab环境

    本博主会再写后续Caffe初学者四部曲博客,尽请期待:

    Caffe初学者第一部:Caffe(CPU)+Python教程

    Caffe初学者第二部:Caffe(CPU)+Matlab教程

    Caffe初学者第三部:Caffe(GPU)+Python教程

    Caffe初学者第四部:Caffe(GPU)+Matlab教程

     参考博客:

    https://blog.csdn.net/rt5rte54654/article/details/54742981

    https://blog.csdn.net/qq_33003797/article/details/79334923

    https://blog.csdn.net/qq_20444875/article/details/78887768

    http://cdimage.ubuntu.com/ubuntukylin/releases/16.04/release/ubuntukylin-16.04.4-desktop-amd64.iso

    https://blog.csdn.net/CupidYzw97/article/details/74857467

    https://www.cnblogs.com/nowornever-L/p/5649078.html

  • 相关阅读:
    [python] pprika:基于werkzeug编写的web框架(6) ——restful的错误处理
    [python] pprika:基于werkzeug编写的web框架(5) ——蓝图blueprint
    [python] pprika:基于werkzeug编写的web框架(4) ——请求上下文与helpers
    [python] pprika:基于werkzeug编写的web框架(3) ——错误处理
    [python] pprika:基于werkzeug编写的web框架(2) ——路由与请求响应
    [python] pprika:基于werkzeug编写的web框架(1) ——序言与简介
    2019寒假训练营第四次作业
    2019寒假训练营第三次作业
    【学习笔记】福州大学网络课程 网络空间安全概论(5)
    【学习笔记】福州大学网络课程 网络空间安全概论(1,4)
  • 原文地址:https://www.cnblogs.com/Qsir/p/9105798.html
Copyright © 2020-2023  润新知