官方教程:http://caffe.berkeleyvision.org/install_apt.html

主要参考教程: https://github.com/BVLC/caffe/wiki/Ubuntu-16.04-or-15.10-Installation-Guide

其他参考:http://blog.csdn.net/hjimce/article/details/51999566

http://www.52nlp.cn/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E4%B8%BB%E6%9C%BA%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE-ubuntu-16-04-nvidia-gtx-1080-cuda-8

http://textminingonline.com/dive-into-tensorflow-part-iii-gtx-1080-ubuntu16-04-cuda8-0-cudnn5-0-tensorflow

——————————————————————————————————————————————————————

参考官网的教程,先安装不支持GPU版本的, 编译成功后再安装CUDA,增加GPU功能。

http://www.cnblogs.com/balmy/p/5752589.html

这是在github项目下面的教程, 根据自己的机子修改了部分内容(修改的地方其实并不多,细心注意下就好)。

环境为 ubuntu16.04 + opencv2.4 + python2.7

再来增加GPU的支持,先下载安装CUDA 8.0

CUDA安装:官方dec文件安装:

 1. sudo dpkg -i cuda-repo-ubuntu1604-8-0-rc_8.0.27-1_amd64-deb

 2. sudo apt-get update

 3. sudo apt-get install cuda

安装完后检查:

  nvidia-smi

(自己的本机显卡驱动为nvidia 361)

下载CuDNN(https://developer.nvidia.com/cudnn),选择5.0版本(和cuda 8.0匹配),

解压后将 /lib64 目录下的文件拷贝到 /usr/lib/x86_64-linux-gnu/

将 /include 目录下的文件拷贝到 /usr/include/

重启电脑,执行 export 检查环境变量。

重新编译caffe:

进入caffe-master目录下,修改 Makefile.config, 根据里面的注释来修改,注释掉CPU_ONLY = 1,其他选项根据自己的情况来修改。

编译前先执行 make clean

然后依次执行:

make all

make test

make runtest

make pycaffe

make distribute

可在后面增加 -j $(($(nproc) + 1)),来使用多个处理器编译。

编译过程会出现gcc版本错误,显示版本太高了(5.4),打开/usr/local/cuda/include/host_config.h

注释掉:    error -- unsupported GNU version! gcc versions later than 5.3 are not supported!

在cuda和opencv编译的时候也会报gcc版本太高的错误(主要是cuda引起的,如果opencv不用cuda就没这个错误):

解决:

  安装gcc-4.9,g++-4.9

  sudo apt-get install gcc-4.9

  sudo apt-get install g++-4.9

  安装了gcc-4.9,g++4.9,但是用gcc -v查看版本还是显示的5.4,需要改变版本的优先级用下面的命令解决了:

  sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20

  sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20

  sudo update-alternatives --config gcc
  sudo update-alternatives --config g++

这步完成后再去编译caffe,又需要将gcc的版本换成5以上,否则会遇到protobuf的错误(在这里纠结了很久,还以为是protobuf的问题,跑去卸载了protobuf,重新github上下载,自己编译,但是结果还是有问题)

最终就是讲gcc版本换成5以上,再在 /usr/local/cuda/include/host_config.h 这个文件中注释掉:    error -- unsupported GNU version! gcc versions later than 5.3 are not supported! 问题就解决了。

———————————————————————————————————————————————————————

(备份的,还没写完)opencv 3.1的还没有测试

OpenCV 3.1 + ubuntu 16.04

https://github.com/BVLC/caffe/wiki/Ubuntu-16.04-or-15.10-OpenCV-3.1-Installation-Guide

遇到过的坑:

在不用cuda的情况下,编译caffe报错:

  Makefile:616:recipe for target '.build_release/tools/convert_imageset.bin' failed

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

可能的原因:采用apt-get 安装的protobuf版本比较久旧,所以先卸载原来的protobuf,下载最新的重新编译安装

  sudo apt-get autoremove libprotobuf-dev protobuf-compiler

  从github上下载protobuf

  打开protobuf文件目录进行编译安装,过程如下:

    sh autogen.sh

    生产configure文件,这步可能会遇到错误:

      configure.ac:64: error:possibly undefined macro: AC_PROG_LIBTOOL

    输入命令:sudo apt-get install libtool

    再次运行:sh autogen.sh

      还是报错。原因是没有gmock文件,而gmock的下载地址被墙了。

      解决:手动下载gmock,再根据autogen.sh里面的代码运行:

        unzip -q gmock-1.7.0.zip

        rm gmock-1.7.0.zip

        mv gmock-1.7.0 gmock

      再次运行sh autogen.sh,应该可以成功。

    对protobuf进行编译,按照顺序,依次输入:

      ./configure

      make -j8

      make check

      sudo make install

      sudo ldconfig

    默认安装到 /usr/local

    完成安装

    protobuf配置环境变量

      打开profile文件:sudo kate /etc/profile

      添加: export PATH=$PATH:/usr/local/protobuf/bin

          export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/<

      保存退出后输入命令:source /etc/profile

    配置动态链接库:

      打开配置文件ld.so.conf:sudo kate /etc/ld.so.conf

      添加: /usr/local/protobuf/lib

      更新配置: sudo su

            ldconfig

再试试重新编译caffe

然而还是错误的。

真正的原因是gcc的版本之前被降到了4.9,需要回到5.0,上面已经介绍过了。

caffe安装:ubuntu16.04 + opencv2.4 + python 2.7+ CUDA 8.0 RC + CuDNN 5.0的更多相关文章

  1. 初用Linux, 安装Ubuntu16.04+NVIDIA387+CUDA8.0+cudnn5.1+TensorFlow1.0.1

    因为最近Deep Learning十分热门, 装一下TensorFlow学习一下. 本文主要介绍安装流程, 将自己遇到的问题说明出来, 并记录自己如何处理, 原理方面并没有能力解释. 由于本人之前从来 ...

  2. win10安装ubuntu16.04及后续配置

    原文地址:https://www.jianshu.com/p/842e36a8255c UEFI 模式下win10安装ubuntu16.04双系统教程 - baobei0112的专栏 - CSDN博客 ...

  3. Ubuntu16.04下升级Python到3.6.5

    本文链接:https://blog.csdn.net/chaiyu2002/article/details/82698376原帖存于IT老兵博客.Ubuntu16.04下升级Python到3.6.5 ...

  4. Win7 U盘安装Ubuntu16.04 双系统详细教程

    Win7 U盘安装Ubuntu16.04 双系统详细教程 安装主要分为以下几步: 一. 下载Ubuntu 16.04镜像软件: 二. 制作U盘启动盘使用ultraISO: 三. 安装Ubuntu系统: ...

  5. 路由器安装ubuntu-16.04.1-server-amd64出现“无法安装busybox-initramfs”错误。向目标系统中安装busybox-initramfs软件包时出现一个错误。请检查/var/log/syslog或查看第四虚拟控制台以获得详细

    公司的路由器要ubuntu服务器进行路由网络功能的管理,在安装的时候出现下面的错误提示: 安装ubuntu-16.04.1-server-amd64出现“无法安装busybox-initramfs”错 ...

  6. win7下通过easyBCD引导安装Ubuntu16.04(并处理遇到的坑)

    Ubuntu16.04作为目前最新版本的ubuntu系统,相信很多人都想在自己的电脑上安装一下,然而系统的安装方法各式各样,u盘法.grub引导法等等,这里我将介绍在win7系统下用easyBCD软件 ...

  7. win10下安装Ubuntu16.04双系统

    其实我是不喜欢系统的,之前都是在win下面进行开发,现在来了个项目,经过各种环境的安装调研,最终选择在Ubuntu下面进行开发.之前想着为啥不在虚拟机里面安装Ubuntu进行操作呢,由于虚拟机的体验不 ...

  8. win10安装ubuntu16.04双系统

    前话:因为感兴趣吧也是专业需要,所以自学了U盘重装系统以及在win10的情况下安装Ubuntu16.04双系统.借此博客,记录下我安装Ubuntu的过程,方便日后回忆. 正因如此,本篇博客会写的十分简 ...

  9. win10安装ubuntu16.04双系统历程

    目录 win10安装ubuntu16.04双系统 历程 安装时间 安装准备 安装过程 其他问题 win10安装ubuntu16.04双系统 历程 安装时间 2018.11.30 安装准备 u盘(格式化 ...

随机推荐

  1. ue4 ios

    project settings package 可以指定非APK打包,确定资源是否发布 可以指定content下某个目录所有文件(非.uassert)都打包 ios环境下fopen打开文件需要指定路 ...

  2. noi 1.5 43:质因数分解

    描述 已知正整数 n 是两个不同的质数的乘积,试求出较大的那个质数. 输入 输入只有一行,包含一个正整数 n.对于60%的数据,6 ≤ n ≤ 1000.对于100%的数据,6 ≤ n ≤ 2*10^ ...

  3. BaseAdapter日常的封装

    我们日常开发中BaseAdapter使用非常的多,大家有没有想过,再进一步封装,将平常使用的对象集合,利用泛型放入集合中,再也不用每次都重写那几个方法了,当然我也提供我的下载地址(https://gi ...

  4. hdu 1004 Let the Balloon Rise

    Let the Balloon Rise Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Oth ...

  5. 227 Entering Passive Mode (xxx,xxx,,xxx,xxx,x)

    登录ftp时显示227 Entering Passive Mode (xxx,xxx,,xxx,xxx,x) 因为FTP有两种工作模式,PORT方式和PASV方式,中文意思为主动式和被动式 ,详细介绍 ...

  6. soj 1015 Jill's Tour Paths 解题报告

    题目描述: 1015. Jill's Tour Paths Constraints Time Limit: 1 secs, Memory Limit: 32 MB Description Every ...

  7. qt qml qchart 图表组件

    qt qml qchart 图表组件 * Author: Julien Wintz * Created: Thu Feb 13 23:41:59 2014 (+0100) 这玩意是从chart.js迁 ...

  8. cmake 出现问题

    问题: CMake Error at CMakeLists.txt:3 (find_package): By not providing "FindOpenCV.cmake" in ...

  9. Excel取消超级链接

    背景 本人使用Excel作笔记,偶尔会将一些url存到文档中.Excel会自动给这些url加上超链接,下次使用的时候,因为会单机跳转,导致选中复制很不方便. 解决方式 修改配置,避免给自动url加上超 ...

  10. JavaScript基本数据类型(较易混淆的几个概念)

    1. var a; typeof a;  控制台输出结果是什么? 解答:a只被声明,而未被初始化,在javascript中,未初始化的变量默认值都为undefined; 2. var s=" ...