ubuntu16.04安装caffe

说明:本文主要参考如下博客以及网上各种资料,记录安装caffe过程。感谢网上各位博主的热心分享。

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

ubuntu16.04安装caffe以及各种问题汇总

Caffe安装问题汇总

Ubuntu16.04系统下CUDA7.5配置Caffe教程

matlab下对caffe接口的调用

  1. CUDA安装(包括nvidia显卡驱动和cuda库文件):

    • CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。开发人员现在可以使用C语言来为CUDA™架构编写程序,C语言是应用最广泛的一种高级编程语言。所编写出的程序于是就可以在支持CUDA™的处理器上以超高性能运行。CUDA3.0已经开始支持C++和FORTRAN。

    • 通过英伟达安装包来分别安装库的驱动程序而不是使用apt-get来安装。如果只有CPU可以跳过这步。
    • 主板BIOS里面要选择自由选择显卡,这样才能识别nvidia的显卡并进行驱动更新。
    • 快捷键ctrl+alt+T打开命令终端,加入官方ppa源(ppa简介)。
      $ sudo  add-apt-repository ppa:graphics-drivers/ppa

      需要输入密码并按enter键确认。之后刷新软件库并安装最新驱动。

      $ sudo apt-get update
      $ sudo apt-get install nvidia-367 nvidia-settings nvidia-prime

      安装完成后通过下面命令查看是否安装成功。

      $ nvidia-settings

      注意安装完成后要重启,有如下效果则安装完成,否则就说明安装有问题,尝试关闭UEFI保护试试。

    • 从官网下载cuda7.5.run文件cuda7.5下载 ,进入该页面选择相应版本,如下图
    • 可知当前cuda7.5还不支持ubuntu16.06,参考他人博客可知主要是gcc版本问题,实际可通过编译。下载完run文件后,cd命令进入该文件所在目录,进行MD5检验,确保安装包正常。
      sudo md5sum cuda_7.5.18_linux.run     检验结果与源文件的md5sum比较。

    • 检验正确后,输入如下代码安装(第一行修改文件权限,第二行执行文件安装):
      $ chmod 777 cuda_7.5.18_linux.run
      $ sudo ./cuda_7.5.18_linux.run --override 

      执行代码后会跳出一个信息,左下方出现more|0%这样,此时直接按enter直到跳到100%结束退出,接下来要求输入相关配置命令,如下图,注意别弄错了,第三行配置询问是否要安装nvidia图形驱动器,一定要选n,因为之前已经安装过了,如果再安装则会报错。仔细看如下配置,别看错行。

    • 安装后出现如下则说明安装正确:
      ===========
      = Summary =
      ===========
      Driver:   Not Selected
      Toolkit:  Installed in /usr/local/cuda-7.5
      Samples:  Installed in /usr/local/cuda-7.5, but missing recommended librarie

    • 接下来安装cudnn动态库,可以获得更快计算速率。cudnn5.0 ,初次进入需要注册,然后问卷调查,之后进入如下页面
    • 选择cuDNN v5 Library for Linux进行下载。下载后名字为:cudnn-7.5-linux-x64-v5.0-ga.tgz,进入文件所在目录进行解压:
      $ tar zxvf cudnn-7.5-linux-x64-v5.0-ga.tgz 

    • 解压后有个cuda文件,内有include和lib64两个文件夹,进入include文件夹,执行如下命令:
      $ sudo cp cudnn.h /usr/local/cuda/include/     #复制头文件

    • 再cd命令切换进lib64文件夹,执行如下命令:
      $ sudo cp lib* /usr/local/cuda/lib64/    #复制动态链接库

    • 然后进入复制后的动态链接库进行新的链接:
      $ cd /usr/local/cuda/lib64/
      $ sudo rm -rf libcudnn.so libcudnn.so.5    #删除原有动态文件
      $ sudo ln -s libcudnn.so.5.0.5 libcudnn.so.5
      $ sudo ln -s libcudnn.so.5 libcudnn.so

    • 然后设置环境变量和动态链接库:
      $ sudo gedit /etc/profile

    • 然后再打开的文件末尾加上(“=”前后不要有空格)
      export PATH=/usr/local/cuda/bin:$PATH

    • 保存之后创建链接文件:
      $ sudo vim /etc/ld.so.conf.d/cuda.conf

    • 按下键盘i进行编辑:
      /usr/local/cuda/lib64

    • 按下esc,按下:wq保存退出。并在终端输入以下命令使该链接生效:
      $ sudo ldconfig

    • 使用sample里面的例子来测试还需要编译。因为当前的cuda还不支持gcc5.0以上的版本,在编译之前,我们需要修改配置文件,否则无法编译成功。
      $ cd /usr/local/cuda-7.5/include
      $ sudo cp host_config.h host_config.h.bak   #备份编译头文件
      $ sudo gedit host_config.h

    • 在113行将if后面的两个4改成5,改成如下所示:
      #if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ > 9)
      #error -- unsupported GNU version! gcc versions later than 4.9 are not supported!
      #endif /* __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 9) */

    • 然后进入用例文件进行编译(注意执行第二步命令时候需要较长时间是正常现象):
      $ cd /usr/local/cuda/samples
      $ sudo make all -j4
      $ cd /usr/local/cuda/samples/bin/x86_64/linux/release
      $ sudo ./deviceQuery

    • 执行命令后出现如下信息则说明显卡驱动和cuda安装成功。
  2. BLAS安装与配置

    • BLAS,即基础线性代数子程序库,里面拥有大量已经编写好的关于线性代数运算的程序,是一个应用程序接口的标准。caffe官网上推荐了三种实现:ATLAS, MKL, or OpenBLAS。其中atlas可以直接通过命令行安装.在此,采用intel的MKL库。intel官网下载MKL ,该链接进入后,申请学生版本的Parallel Studio XE Cluster Edition,这里注册要学校的邮箱拿去注册。该文件有3.9GB,下载完成后切换进文件所在目录解压缩该文件。

      $ cd ~/Downloads/
      $ tar zxvf parallel_studio_xe_2016_update3.tgz   #解压下载文件
      $ chmod 777 parallel_studio_xe_2016_update3 -R   #获取文件权限
      $ cd parallel_studio_xe_2016_update3/
      $ sudo ./install_GUI.sh

  • 上述命令后会跳出一个安装界面,其中需要输入license,从网站上获取: license ,进入该网站后如下图点击信封那里就会给你之前注册过的邮箱发送含有license的邮件,输入即可正常安装如下图二所示。
  • 安装完成后进行相关文件链接
    $ sudo gedit /etc/ld.so.conf.d/intel_mkl.conf

  • 在打开的文件中添加库文件
    /opt/intel/lib/intel64
    /opt/intel/mkl/lib/intel64

  • 添加完成后编译生效
    $ sudo ldconfig

  • OpenCV3.1.0安装与配置(感觉有问题)

    • 首先安装一些必要的依赖库:

      sudo apt-get install build-essential
      sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
      sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

    • OpenCV 进入该网站下载OpenCV3.1.0并解压缩,然后进入解压缩后的文件,创建build文件。
      $ unzip opencv-3.1.0.zip
      $ cd opencv-3.1.0
      $ mkdir build
      $ cd build
      $ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

      生成的文件在bulid中,而生成的CMakeLists.txt文件在上一级文件中。在配置过程会出现– ICV: Downloading ippicv_linux_20151201.tgz…错误。可以到 ippicv_linux_20151201.tgz 下载。

    • 将下载的文件替换掉 opencv-3.1.0/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b下的同名文件,同时在opencv-3.1.0目录下的CMakeList.txt 文件的开头加入一行,然后再次cmake即可,如下:
      $ cd ~/Downloads/
      $ mv ippicv_linux_20151201.tgz opencv-3.1.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/
      $ vim opencv-3.1.0/CMakeLists.txt 

    • 在弹出的文件开头加入一行(注意里面的引号要英文状态下的):
      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_FORCE_INLINES") 

    • 然后按esc和:wq保存退出。
      $ cd opencv-3.1.0/build
      $ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
      $ make -j4       #四核运算
      $ sudo make install

    • 以上最后两步比较耗时,耐心等待。
  • Python安装与配置

    • 选择的是anaconda linux64 2.7版本python2.7 。下载完成之后,最好也要进行md5sum的检验。完成之后,cd进入下载文件所在的目录,在命令行输入:

      $ bash Anaconda2-4.0.0-Linux-x86_64.sh

    • 安装完成之后,在~/.bashrc文件末尾添加Anaconda的库文件(注意“=”两边不要有空格),具体如下:
      $ sudo gedit ~/.bashrc
      export PATH="/home/jeson/anaconda2/bin:$PATH"
      export LD_LIBRARY_PATH="/home/jeson/anaconda2/lib:$LD_LIBRARY_PATH"

    • 重启电脑之后,在命令行输入:
      $ ipython

    • 就可以看到python的版本。
  • matlab的安装与配置

    • 在网盘上下载安装包及Crack破解文件之后 matlab2014 ,解压两个压缩文件(最后一步解压时也会将part2一起合并解压):

      $ cd matlab2014/
      $ unrar x MATHWORKS_R2014A.part1.rar

    • 然后在命令行cd进入matlab2014目录,输入:
      $ sudo ./install

    • 1、选择“不联网安装”:“Use a File Installation Key”;
      2、当出现密钥时,输入20个数字12345-67890-12345-67890即可;
      3、安装路径默认为:/usr/local/MATLAB/R2014a,然后选择自己需要安装的工具(默认全选);符号链接也为默认:/usr/local/bin。
      4、需要激活时选择不要联网激活"Activate manually without the Internet",运用Crack目录下的“license_405329_R2014a.lic”文件作为激活文件。
      5、安装完成之后,还要将Crack/linux目录下的libmwservices.so文件拷贝到/usr/local/MATLAB/R2014a/bin/glnxa64,即:

      $ cd ~/matlab2014/Crack/Linux/
      $ sudo cp libmwservices.so /usr/local/MATLAB/R2014a/bin/glnxa64/

      安装完成之后,直接在命令行输入matlab,就能使用matlabR2014a了。

  • caffe的安装和配置

    • 安装各种依赖包

      sudo apt-get update
      sudo apt-get upgrade
      sudo apt-get install -y build-essential cmake git pkg-config
      sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler
      sudo apt-get install -y libatlas-base-dev
      sudo apt-get install -y --no-install-recommends libboost-all-dev
      sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev
      sudo apt-get install -y python-pip
      sudo apt-get install -y python-dev
      sudo apt-get install -y python-numpy python-scipy
      sudo apt-get install -y libopencv-dev

    • 下载caffe:
      cd ~
      git clone https://github.com/BVLC/caffe.git    //从github上git caffe

    • 安装配置caffe:
      cd caffe    //打开到刚刚git下来的caffe
      cp Makefile.config.example Makefile.config //make指令只能make Makefile.config
      sudo gedit Makefile.config      //打开Makefile.config文件

    • 配置文件修改(看英文提示根据具体修改):
      OPENCV_VERSION := 3    #取消注释符号#,应用opencv3
      BLAS := mkl   #BLAS库应用英特尔的mkl
      #注释第66行自带的python
      ANACONDA_HOME := /home/jeson/anaconda2  #将具体anaconda2路径写入
      PYTHON_INCLUDE := $(ANACONDA_HOME)/include \$(ANACONDA_HOME)/include/python2.7 \$(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include \   #PYTHON_INCLUDE之前的注释#去掉,以及之后两行前的#也去掉
      PYTHON_LIB := $(ANACONDA_HOME)/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

    • 为了之后编译matlab,这里提前在配置文件中修改matlab路劲,改完后保存退出:
      MATLAB_DIR := /usr/local/MATLAB/R2014a

    • CUDNN只支持CUDA Capability 3.0以上的GPU加速,而我的笔记本显卡GT630M才2.1的加速能力,在其他3.0以上的显卡运行正常,因此选择不启用cuDNN加速,所以Makefile.config中USE_CUDNN行是注释状态不改变。
    • 为hdf5之类的文件创建新的链接
      \\首先执行下面两句话:
      find . -type f -exec sed -i -e 's^"hdf5.h"^"hdf5/serial/hdf5.h"^g' -e 's^"hdf5_hl.h"^"hdf5/serial/hdf5_hl.h"^g' '{}' \;
      cd /usr/lib/x86_64-linux-gnu
      \\然后根据情况执行下面两句:
      sudo ln -s libhdf5_serial.so.10.1.0 libhdf5.so
      sudo ln -s libhdf5_serial_hl.so.10.0.2 libhdf5_hl.so
      \\注意:这里的10.1.0和10.0.2根据不同的系统可能对应的数字会不同,比如在ubuntu16.04中其数字就是10.1.0.
      \\具体的数字可以在输入命令时候使用tab键补全查看

    • 打开makefile文件搜索并替换
      NVCCFLAGS += -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

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

    • $ sudo gedit ~/.bashrc

    • 在打开的文件末尾加上:
      export LD_LIBRARY_PATH="/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH”

    • 在命令行输入:
      sudo ldconfig #编译立即生效

    • 然后进入caffe目录:
      make all -j4
      make test -j4
      make runtest

    • 这里runtest会报错如下:
    • 解决方法是在~/.bashrc文件末尾添加输入一行,具体如下:
      sudo gedit ~/.bashrc
      export MKL_CBWR=AUTO     #打开的文件末尾加入该行,然后保存退出。
      sudo ldconfig            #编译立即生效 

    • 然后再来一遍
      make clean
      make all -j4
      make test -j4
      make runtest

    • 正确结果是如下:
    • 如果编译没有报错,则基本没问题。在运用anaconda和matlab时都需要修改相应的内容。
    • anaconda需要将caffe头文件进行链接:
      $ sudo gedit ~/.bashrc

    • 输入
      export PYTHONPATH="/home/jeson/caffe/python:$PYTHONPATH"

    • 保存后在命令行输入:
      sudo ldconfig
      make pycaffe
      make distribute
      ipython
      import caffe

    • 最后如果没有跳出错误则说明编译成功,即可调用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
      make mattest

    • 出现下图说明编译正确:
    • 测试matlab打开./caffe/matlab/+caffe/private,看有没有生成一个caffe的mex文件,可以运行+test文件夹里面的程序测试。
  • 至此,暂时应该算是安装完成。

遇到的一些问题:

1.can not find "hdf5.h":

解决:

# Whatever else you find you need goes here.
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

2. make: *** [.build_release/src/caffe/util/hdf5.o] Error 1

解决: 
Makefile.config 
INCLUDE_DIRS 
/usr/include/hdf5/serial/ 
Makefile 
LIBRARIES 
hdf5_hl and hdf5 改为 hdf5_serial_hl ,hdf5_serial

3. make: *** [.build_release/tools/convert_imageset.bin] Error 1

make: *** [.build_release/tools/upgrade_net_proto_text.bin] Error 1

make: *** [.build_release/tools/upgrade_net_proto_binary.bin] Error 1

解决:

明显是OpenCV出了问题,网上查阅后,得知是因为lib文件opencv_imgcodecsMakefile文件中未添加,修改如下:

LIBRARIES += glog gflags protobuf leveldb snappy \
    lmdb boost_system hdf5_hl hdf5 m \
    opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs

参考网站:

http://www.codexiu.cn/Linux/blog/32754/ubuntu16.04安装caffe

http://blog.csdn.net/forest_world/article/details/51371560   Caffe研究实践 一 ------环境搭建

http://blog.csdn.net/isuccess88/article/details/70165726   在Ubuntu上用python3安装caffe(仅CPU)

http://blog.csdn.net/lien0906/article/details/46816243Caffe 安装错误记录及解决办法

http://blog.csdn.net/hjxu2016/article/details/69389597Ubuntu ldconfig(解决*.so不是符号连接)

http://blog.csdn.net/billbliss/article/details/73498307(含软连接修改的分析) 安装caffe 出现libcurl.so.4: no version information available (required by cmake)

http://blog.csdn.net/huangkangying/article/details/53406370OpenCV 3.1下载 ippicv_linux_20151201失败

http://blog.csdn.net/yhaolpz/article/details/71375762Ubuntu16.04 Caffe 安装步骤记录(超详尽)

http://www.jianshu.com/p/663029044efdUbuntu16.04+matlab2014a+anaconda2+OpenCV3.1+caffe安装

http://www.idcfree.com/article-1889-1.htmlUbuntu 16.04 +cuda8.0+cudnn+caffe+theano+tensorflow配置明细

http://blog.csdn.net/u014696921/article/details/53143176

ubuntu16.04+nvidia gt740m+cuda7.5+caffe安装、测试经历

安装caffe中间遇到的一些问题相关推荐

  1. 从零开始安装 Caffe --CPU only----没有 pycaffe

    最近新发了一台服务器, i7-4790/3.6GHz 处理器, 显卡 GTX 1080 Ti Pascal 开始新一轮的装机旅程. 系统是厂家安装的 Ubuntu14.04 下面从零开始安装Caffe ...

  2. 安装caffe(CPU版本)的一些参考和问题的解决

    安装caffe(CPU版本)的一些参考和问题的解决 参考文章: (1)安装caffe(CPU版本)的一些参考和问题的解决 (2)https://www.cnblogs.com/chengjue924/ ...

  3. Ubuntu 16.04 安装 caffe

    Ubuntu16.04安装Caffe最全最详细教程(CPU) 由于本人电脑不支持GPU,故选择CPU安装caffe.具体查看方式:键入命令: lspci | grep -i nvidia ,若按回车之 ...

  4. caffe linux 教程,CentOS7安装Caffe的教程详解

    安装依赖包 sudo yum install protobuf-devel leveldb-devel snappy-devel opencv-devel boost-devel hdf5-devel ...

  5. 安装caffe碰到的坑

    解决办法是依据出现错误的顺序而给出的,为了方便,可以直接先执行所有解决办法后再安装caffe. 1. ./include/caffe/common.hpp:5:27: fatal error: gfl ...

  6. 深度学习之Windows下安装caffe及配置Python和matlab接口

    去年下半年看了相关目标检测的论文,一些传统的算法,一些CVPR,TPAMI,ECCV,ICCV,,NIPS,比较前沿的进展,主要都是基于深度学习卷积神经网络方面的,包括RCNN,SPP-NET,Fas ...

  7. 20160512关于mac安装caffe的记录

    记得2015年在mac系统上安装过一次caffe,非常顺利,但是最近群里许多同学反映mac安装caffe出现了各种问题,同时我也在帮助别人安装caffe的时候也遇到了一些坑,不再像以前这么顺利了.估计 ...

  8. ubuntun 16.04环境安装Caffe过程

    本文基于ubuntu 16.04环境, 1:安装caffe,首先需要安装其依赖库: sudo apt-get install libprotobuf-devsudo apt-get install l ...

  9. Mac下安装caffe(cpu-only)

    如何在Mac下安装caffe 在安装caffe之前,应该了解些计算机的基本知识,以及Linux的基本知识,这是因为Linux和Mac的操作系统非常像.比如什么是Linux,它是怎么来的?Linux和G ...

  10. mac下安装caffe

     mac下安装caffe 参考:http://caffe.berkeleyvision.org/install_osx.html 首先安装homebrew工具,相当于Mac下的yum或apt $ ...

最新文章

  1. python 调用event handler_python-如何获取调用事件的窗口小部件的ID(...
  2. python中整数类型的表示需加引导符号_Python内置类型及常见问题
  3. 分解和合并:Java 也擅长轻松的并行编程!
  4. Android Service 形式分类
  5. Android Service演义
  6. Eclipse4.8.0无法打开 Eclipse MarketPlace
  7. 19、任务十八——事件委托、数组处理
  8. js中的prototype的理解
  9. 基于 vue2 导航栏透明渐变
  10. android系统(3)---dumpsys 知识学习
  11. 麒麟9000芯片的库存真就是个迷
  12. YUV序列下采样以及彩色4:2:0与灰度4:0:0转换---基于matlab实现
  13. 如何锁定计算机桌面图标,解决win7、win10系统怎么锁定电脑桌面图标
  14. oracle sql列转行_SQL列转行及行转列
  15. 怎样任意裁剪图片?如何快速改变图片形状?
  16. java网络编程--TCP程序设计
  17. 【洛谷1337】[JSOI2004] 吊打XXX(模拟退火经典题)
  18. DVWA之暴力破解漏洞
  19. KISSY基础篇乄KISSY之Node(2)
  20. genl_ops结构分析

热门文章

  1. sql 语句实现电话号筛选,例如:AABB,ABAB
  2. SQL查询-查询所有员工的姓名及其直接上级的姓名,没有领导的员工也需要查询
  3. 两台linux服务器互相自动备份
  4. Princeton Algorithms, Boggle
  5. 新闻与传播c刊_3本新闻传播类期刊入围新版C刊扩展目录
  6. 2021-10-11
  7. easyexcel使用问题:使用时导出的excel文件损坏,打开不了,后台没异常错误
  8. es6去除重复项_ES5 ES6中Array对象去除重复项的方法总结
  9. 关于五十音 片假名 平假名
  10. 杂项-一张图片和爆破一