1. apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

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

cd caffe
cp Makefile.config.example Makefile.config

3. pip install scikit-image protobuf

  cd python for req in $(cat requirements.txt); do sudo pip install $req; done

If TypeError: unsupported operand type(s) for -=: 'Retry' and 'int',

Reason: The computer connects with internet through proxy, so add the --proxy parameter like this:

sudo pip install --proxy=http://dev-myproxy.com:8080 scikit-image protobuf

4. modify the Makefile.config. Uncomment the line CPU_ONLY := 1, and the line OPENCV_VERSION := 3 if only use cpu and opencv3.

5. make all

CXX src/caffe/net.cpp

src/caffe/net.cpp:8:18: fatal error: hdf5.h: No such file or directory compilation terminated. Makefile:575: recipe for target '.build_release/src/caffe/net.o' failed make: *** [.build_release/src/caffe/net.o] Error 1

 

This is because the headfiles of hdf5 is in /usr/include/hdf5/serial/, copy all of them into /usr/include directory.

And then

sudo ln -s /usr/lib/x86_64-linux-gnu/libhdf5_serial.so.10.1.0 /usr/lib/x86_64-linux-gnu/libhdf5.so

sudo ln -s /usr/lib/x86_64-linux-gnu/libhdf5_serial_hl.so.10.0.2 /usr/lib/x86_64-linux-gnu/libhdf5_hl.so

 

6. make all again, there will be another error: cann't find cblas.h, no such file or directory.

View the Makefile.config, the option BLAS is atlas, so just install libatlas-base-dev:

apt-get install libatlas-base-dev

7. ld error: can't find -lopencv_imgdecodecs

Wrong opencv version will lead this error.

dpk-config --modversion opencv #check openvcv's version

and then modify the OPENCV_VERSION option in Makefile.config accordingly.

8. make test

9. make runtest

10. make pycaffe

python/caffe/_caffe.cpp:10:31: fatal error: numpy/arrayobject.h: No such file or directory

It was caused because numpy was installed in a different path, and we must manually point to it.

 vi Makefile.config from this:

PYTHON_INCLUDE := /usr/include/python2.7 \

/usr/lib/python2.7/dist_packages/numpy/core/include

to:

PYTHON_INCLUDE :=/usr/include/python2.7 \

/usr/local/lib/python2.7/dist-package/numpy/core/inlcude

 11. Modify PYTHONPATH environment parameter

vi .bashrc

export PYTHONPATH=xxx/caffe/python:$PYTHONPATH

Then we can import caffe in python like this:

import caffe

references:

https://chunml.github.io/ChunML.github.io/project/Installing-Caffe-CPU-Only/

Compile caffe on unbutu 16.0.4的更多相关文章

  1. Ubuntu16.04+Cuda8.0+1080ti+caffe+免OpenCV3.2.0+faster-rCNN教程

    一.事先声明:1.Ubuntu版本:Ubuntu使用的是16.04.而不是16.04.1或16.04.2,这三个是有区别的.笔者曾有过这样的经历,Git上一个SLAM地图构建程序在Ubuntu14.0 ...

  2. ubuntu 16.04源码编译和配置caffe详细教程 | Install and Configure Caffe on ubuntu 16.04

    本文首发于个人博客https://kezunlin.me/post/b90033a9/,欢迎阅读! Install and Configure Caffe on ubuntu 16.04 Series ...

  3. Caffe学习系列(16):caffemodel可视化

    通过前面的学习,我们已经能够正常训练各种数据了.设置好solver.prototxt后,我们可以把训练好的模型保存起来,如lenet_iter_10000.caffemodel. 训练多少次就自动保存 ...

  4. [boost] build boost with intel compiler 16.0.XXX

    Introduction There are few information about how to compile boost with Intel compiler. This article ...

  5. ubuntu 16.04源码编译OpenCV教程 | compile opencv on ubuntu 16.04

    本文首发于个人博客https://kezunlin.me/post/15f5c3e8/,欢迎阅读! compile opencv on ubuntu 16.04 Series Part 1: comp ...

  6. ubuntu 16.04上源码编译dlib教程 | compile dlib on ubuntu 16.04

    本文首发于个人博客https://kezunlin.me/post/c6ead512/,欢迎阅读! compile dlib on ubuntu 16.04 Series Part 1: compil ...

  7. ubuntu 16.04上源码编译opengv | compile opengv on ubuntu 16.04

    本文首发于个人博客https://kezunlin.me/post/1e5d14ee/,欢迎阅读! compile opengv on ubuntu 16.04 Series compile open ...

  8. 安装MYSQL详细教程 版本:mysql-installer-community-5.7.16.0 免安装版本和安装版本出现错误的解决

    一.版本的选择 之前安装的Mysql,现在才来总结,好像有点晚,后台换系统了,现在从新装上Mysql,感觉好多坑,我是来踩坑,大家看到坑就别跳了,这样可以省点安装时间,这个折腾了两天,安装了好多个版本 ...

  9. Navicat Premium 12.1.16.0安装与激活

    声明:本文所提供的所有软件均来自于互联网,仅供个人研究和学习使用,请勿用于商业用途,下载后请于24小时内删除,请支持正版! 本文介绍Navicat Premium 12的安装.激活与基本使用.已于20 ...

随机推荐

  1. C# 对轻量级(IoC Container)依赖注入Unity的使用

    概述 Unity是一个轻量级的可扩展的依赖注入容器,支持构造函数,属性和方法调用注入.Unity可以处理那些从事基于组件的软件工程的开发人员所面对的问题.构建一个成功应用程序的关键是实现非常松散的耦合 ...

  2. 【Android】解析AccessibilityService(辅助服务)的使用

    辅助功能是Android系统提供的一种服务,派生自Service类.这个服务提供了增强的用户界面,目的是为了帮助残障人士.它一般提供了页面元素查找功能和元素点击功能. 通过辅助功能,开发者可以实现一些 ...

  3. 分析轮子(八)- List.java 各种遍历方式及遍历时移除元素的方法

    注:玩的是JDK1.7版本 1:先尝栗子,再分析,代码简单,注释清晰,可自玩一下 /** * @description:测试集合遍历和移除元素的方式 * @author:godtrue * @crea ...

  4. mybatis整合hikariCP(非spring)

    mybatis整合hikariCP(非spring) 一.配置hikariCP典型的配置文件hikariPool.properties jdbcUrl=jdbc:mysql://localhost:3 ...

  5. Oracle&SQLServer中实现跨库查询

    一.在SQLServer中连接另一个SQLServer库数据 在SQL中,要想在本地库中查询另一个数据库中的数据表时,可以创建一个链接服务器: EXEC master.dbo.sp_addlinked ...

  6. Deep Dive into Spark SQL’s Catalyst Optimizer(中英双语)

    文章标题 Deep Dive into Spark SQL’s Catalyst Optimizer 作者介绍 Michael Armbrust, Yin Huai, Cheng Liang, Rey ...

  7. CZT变换(chirp z-transform)

    作者:桂. 时间:2018-05-20  12:04:24 链接:http://www.cnblogs.com/xingshansi/p/9063131.html 前言 相比DFT,CZT是完成频谱细 ...

  8. 获取CPU序列号的Delphi程序

    Unit CPUid; Interface Type TCpuType = (cpu8086, cpu286, cpu386, cpu486, cpuPentium); Function CpuTyp ...

  9. amqp笔记

    1.exchange message的生产者可以将消息发送给exchange,然后由exchange路由到不同的queue中. exchange有4种类型: direct exchange:msg只会 ...

  10. Delphi调用java so

    package hardware.print; public class printer { static public native int Open(); } jni导出的函数是 Java_har ...