1. 安装依赖项 

1 sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
2 sudo apt-get install --no-install-recommends libboost-all-dev
3 sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
4 sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

2.  下载解压OpenCV3.1

①   OpenCV 下载链接: http://opencv.org/releases.html

下载3.1.0 Sources源码:

②   下载的OpenCV源码的压缩包 opencv-3.1.0.zip 的保存路径默认是在 home/用户名/下载 下,进入到该目录。

解压并拷贝到home目录后重命名:

cd ~/下载
unzip opencv-3.1.0.zip
sudo mv ./opencv-3.1.0 ~/OpenCV

③  进入OpenCV目录,创建build文件夹:

cd ~/opencv
mkdir build
cd build

3. 使用CMake编译OpenCV

sudo apt install cmake
sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
sduo make -j4

之后编译成功,输入以下指令完成安装:

sudo make install

4. 验证OpenCV是否正确安装

切换到OpenCV下的samples目录,并编译samples程序:

cd ~/OpenCV/samples
sudo cmake .
sudo make -j $(nproc)

继续切换到cpp目录下,运行测试程序

cd cpp/
./cpp-example-facedetect lena.jpg

这是一个人脸检测的测试程序,运行结果:

5.  下载caffe

caffe源代码下载地址:  https://github.com/BVLC/caffe

将下载的caffe源码压缩包解压并移动到home目录下:

cd ~/下载
unzip caffe-master.zip
sudo mv ./caffe-master ~/caffe-master

6. 修改Makefile.config配置文件

复制一份Makefile.config文件并使用gedit打开修改配置:

cd ~/caffe-master
sudo cp Makefile.config.example Makefile.config
sudo gedit Makefile.config

修改如下节点:

  • #USE_CUDNN:=1 改为 USE_CUDNN:=0   (不使用CUDN,注意去掉前边的#符号)
  • #OPENCV_VERSION := 3  OPENCV_VERSION := 3
  • #WITH_PYTHON_LAYER :=1 改为  WITH_PYTHON_LAYER :=1(python接口)

ubuntu16.04版本相比14.04版本,文件包含位置有变化,所以以下两处一定要做更改:

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

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

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

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

7. 修改makefile文件

打开caffe-master目录下的makefile文件,做如下修改:

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

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

8. 编译caffe

在caffe-master目录运行终端,输入:

sudo make all -j4

9. 测试caffe是否安装成功

运行以下指令:

sudo make runtest

运行之后有以下结果,说明caffe配置成功:

ubuntu16.04下配置caffe无GPU的更多相关文章

  1. Ubuntu16.04安装配置Caffe教程(GPU版)

    推荐博客:https://www.linuxidc.com/Linux/2017-11/148629.htmhttps://blog.csdn.net/yggaoeecs/article/detail ...

  2. Ubuntu16.04下配置ssh免密登录

    Ubuntu16.04下配置ssh免密登录 环境准备:新建两台虚拟机,而且两台虚拟机上都装有Ubuntu16.04的系统,使两台虚拟机之间保持互通状态.分别为两台虚拟机命名为A,B.假设我们要使A虚拟 ...

  3. Linux入门(16)——Ubuntu16.04下配置sublime text 3使用markdown

    sublime text 3安装两个插件: MarkDown Editing OmniMarkupPreviewer 有的人使用 MarkDown Editing markdownpreviewer ...

  4. Windows下VS2013+Caffe无GPU配置

    Windows版本的caffe工具包下载地址: 点击打开链接 1. 将下载的caffe-master.zip解压到 D:\Software\Caffe 文件夹下,把 D:\Software\Caffe ...

  5. Ubuntu16.04 安装配置Caffe

    Caffe已经是第三次安装配置了,为什么是第三次呢?因为我实在是低估了深度学习对于硬件的要求.第一次我在自己笔记本上配置的单核,CPU only ...  结果是,样例数据跑了4小时,这还怎么玩?第二 ...

  6. ubuntu16.04下配置JDK 1.8+安装Java EE,并实现最大子数组算法

    软工第二次作业: 1.在个人电脑中安装一个集成开发环境(Microsoft Visual Studio.Eclipse或其它工具均可),要求该环境能够提供单元自动测试功能: 2.记录安装过程,并将全部 ...

  7. ubuntu16.04下配置apache2与php

    系统版本:ubuntu16.04 命令均在终端中输入,用浏览器测试 //安装apache2命令 sudo apt install apache2 //测试是否安装成功 浏览器地址栏输入“localho ...

  8. Ubuntu16.04下安装tensorflow(GPU加速)【转】

    本文转载自:https://blog.csdn.net/qq_30520759/article/details/78947034 版权声明:本文为博主原创文章,未经博主允许不得转载. https:// ...

  9. 转:Ubuntu16.04下配置php+vscode+xdebug开发环境

    转:https://blog.csdn.net/its_my_dream/article/details/78549619 操作系统是Ubuntu16.04,首先要安装和配置php运行环境,我这里用的 ...

随机推荐

  1. java中的访问修饰符2

    综上所述:protected强调的是子类,deafult强调的是本包,private强调的是本类,public强调的是开放性.

  2. Mvc NuGet 数据迁移

    网上有很多的ef  code first 的使用的方式,很乱,下面是我自己整理出来的,有什么不正确的地方还请指正,本人菜鸟一枚! 1.新建一个类库 =>引用 右击 管理NuGet程序包 添加En ...

  3. C#中跨线程访问控件

    net 原则上禁止跨线程访问控件,因为这样可能造成错误的发生,推荐的解决方法是采用代理,用代理方法来间接操作不是同一线程创建的控件. 第二种方法是禁止编译器对跨线程访问作检查,可以实现访问,但是出不出 ...

  4. 信息检索及DM必备知识总结:luncene

    原文链接:http://blog.csdn.net/htw2012/article/details/17734529 有少量修改!如有疑问,请访问原作者. 一:信息检索领域: 信息检索和网络数据领域( ...

  5. JS面向对象(1)——构造函数模式和原型模式

    1.构造函数模式 构造函数用来创建特定的类型的对象.如下所示: function Person(name,age,job){ this.name=name; this.job=job; this.ag ...

  6. Java JDK 1.7 和 JDK 1.8 新特性

    0 引言 本文主要介绍 Java JDK 中 1.7 和 1.8 的新特性. 1 JDK 1.7 新特性 1. switch可以接受String类型: public class Switch { pu ...

  7. GDI 线段绘制示例程序

    #include <windows.h> #include <strsafe.h> #include <stack> typedef struct tagLINE ...

  8. WEBGL学习【一】初识WEBGL

    <html lang="zh-CN"> <head> <title>NeHe's WebGL</title> <meta ch ...

  9. flex笔记 - 基础

    flex笔记 - 基础 文章中的所有图示代码都放在了github上: 阮一峰flex博客跟学代码 传统的布局解决方案,基于盒模型, 依赖 display, position, float属性来进行布局 ...

  10. Linux 密码的暴力破解

    Linux 的密码的介绍 两个文件 1 . /etc/passwd 2 . /etc/shadow ## 关于/etc/shadow 文件的介绍 1 . 第一个字段是用户名 2 . 第二字字段是加密的 ...