官方教程: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. https 与http 的坑

    网页报这种错误: (blocked:mixed-content) 使用了https就不能夹生http       jquery.min.js:4Mixed Content: The page at ' ...

  2. sql语句注意事项

    1两表根据a字段关联,把t2表中的c字段值更新到t1表中的c字段update T1set T1.C =(select T2.C from T2 where T1.A = T2.A)where exis ...

  3. understanding-论文

    understanding temporal and spatial travel paterns of individual passengers by mining smart card data ...

  4. python pymysql和orm

    pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 1. 安装 管理员打开cmd,切换到python的安装路径,进入到Scripts目录下(如:C:\Users\A ...

  5. c 头文件<ctype.h>(一)

    头文件<ctype.h>中声明了一些测试字符的函数. 每个函数的参数均为int类型,参数的值必须是EOF或可用unsigned char类型表示的字符,函数返回值为int类型. 如果参数c ...

  6. C# GMap下提供一个高德地图

    using System; using GMap.NET.Internals; using GMap.NET.Projections; namespace GMap.NET.MapProviders ...

  7. kali 渗透的一些笔记

    kali实战笔记 17:55 2016/7/19 by: _Silvers kali系统安装后的配置及美化安装vmwareToolstar zxvf VMwareTools-sfsfsfasfasfs ...

  8. windows 下编辑shell,到linux报错,也是windows换行等造成

    sed -i 's/\r$//' shell.sh 然后linux 下就不会报语法错误了.

  9. http 中定义的八种请求的介绍

    在http1.1协议中,共定义了8种可以向服务器发起的请求(这些请求也叫做方法或动作),本文对这八种请求做出简要的介绍: 1.PUT:put的本义是推送 这个请求的含义就是推送某个资源到服务器,相当于 ...

  10. WCF学习目的

    WCF,window communication Foundation,是微软推出的面向服务应用的一款产品. 近来为一个WEB app前端项目写后台接口.涉及到跨域访问,服务代理等方面的内容.项目的需 ...