本文是第一次在Ubuntu 16.04上安装Caffe(CPU Only)的过程。主要参考了以下链接:

官方安装文档:http://caffe.berkeleyvision.org/installation.html

官方Ubuntu安装文档:http://caffe.berkeleyvision.org/install_apt.html

博客:http://www.linuxidc.com/Linux/2016-09/135034.htm

http://www.linuxdiyf.com/linux/23093.html

1、安装依赖库
       sudo apt-get install libprotobuf-dev 
       sudo apt-get install libleveldb-dev 
       sudo apt-get install libsnappy-dev 
       sudo apt-get install libopencv-dev 
       sudo apt-get install libhdf5-serial-dev 
       sudo apt-get install protobuf-compiler
       sudo apt-get install libboost-all-dev

CPU Only的情况下,跳过了CUDA相关的安装;
接下来是BLAS:
       sudo apt-get install libatlas-base-dev
使用默认Python来建立pycaffe接口,需要安装:
       sudo apt-get install python-dev
一些兼容性依赖库:
       sudo apt-get install libgflags-dev
       sudo apt-get install libgoogle-glog-dev 
       sudo apt-get install liblmdb-dev

2、下载Caffe源码
没有安装git的话需要先装一下git
       sudo apt-get install git
下载Caffe源码
       git clone https://github.com/BVLC/caffe.git
如果需要Caffe的Python接口,切换到caffe下的python目录下,输入以下命令下载python依赖库(先安装pip):
      sudo apt-get install python-pip
      for req in $(cat requirements.txt); do pip install $req; done

3、编译Caffe
到Caffe文件夹中,拷贝一份Makefile.config.example并重命名成Makefile.config,修改该配置文件:
      cp Makefile.config.example Makefile.config
使用文本编辑器打开Makefile.config,因为这里没有配置GPU,所以去掉CPU_ONLY := 1前面的注释;
由于Ubuntu16.04文件结构的变化,#Whatever else you find you need goes here.处要改成下面这样:
# 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
设置到这里开始编译,make pycaffe,结果报错,错误和numpy相关,重新打开Makefile.config目录,又查找了一下numpy的安装目录,发现对应不上,需要重新设置,需要把原本如下的内容:
# NOTE: this is required only if you will compile the python interface.
# We need to be able to find Python.h and numpy/arrayobject.h.
PYTHON_INCLUDE := /usr/include/python2.7 \
     /usr/lib/python2.7/dist-packages/numpy/core/include
更改为:
# NOTE: this is required only if you will compile the python interface.
# We need to be able to find Python.h and numpy/arrayobject.h.
PYTHON_INCLUDE := /usr/include/python2.7 \
     /usr/local/lib/python2.7/dist-packages/numpy/core/include
之后就是编译:
     make pycaffe
     make all
     make test
     make runtest

make默认单核运算,如果想加快速度,我这里是4核,可以在每条命令后面加上-j4,如果有报错,建议最好make clean重新开始。
如果所有测试都通过,则说明安装好了。

4、测试
测试Caffe的Python接口,切换到caffe/python文件目录下,记录下来当前路径,输入以下命令:
     export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH
进入python环境,输入:
     import caffe
如果没有报错,证明安装成功。
上面的方法,一旦关闭终端或者打开新终端则失效,如果放到配置文件中,可以永久有效果,命令操作如下:
#A.把环境变量路径放到 ~/.bashrc文件中
     sudo echo export PYTHONPATH="~/caffe/python" >> ~/.bashrc
#B.使环境变量生效
     source ~/.bashrc
5、结束语
配置Caffe环境还是要仔细阅读官方文档的步骤,另外配置文件的注释也很详细。装完了才发现了一个更靠谱的教程,在Caffe的Github的Wiki里面,附上链接:
https://github.com/BVLC/caffe/wiki/Ubuntu-16.04-or-15.10-Installation-Guide
下一步再入坑GPU相关的安装~

以上内容主要参考https://blog.csdn.net/muzilinxi90/article/details/53673184博文 ,对于机器上只有python2.7版本应该可以解决安装问题。

由于我的机器事先已经安装tensorflow以及python3.5,一些python依赖包基本都安装在python3.5路径下面,导致后期用默认python2.7导入caffe时报错,以下错误信息供参考

(1)

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

File "caffe/__init__.py", line 1, in <module>

from .pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropSolver, AdaDeltaSolver, AdamSolver, NCCL, Timer

File "caffe/pycaffe.py", line 15, in <module>

import caffe.io

File "caffe/io.py", line 2, in <module>

import skimage.io

ImportError: No module named skimage.io

solution:

sudo apt-get install python-matplotlib python-numpy python-pil python-scipysudo apt-get install build-essential cythonsudo apt-get install python-skimage

(2)   error:

/usr/lib/python2.7/dist-packages/matplotlib/font_manager.py:273: UserWarning: Matplotlib is building the font cache using fc-list. This may take a moment.

warnings.warn('Matplotlib is building the font cache using fc-list. This may take a moment.')

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

File "caffe/__init__.py", line 1, in <module>

from .pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropSolver, AdaDeltaSolver, AdamSolver, NCCL, Timer

File "caffe/pycaffe.py", line 15, in <module>

import caffe.io

File "caffe/io.py", line 8, in <module>

from caffe.proto import caffe_pb2

File "caffe/proto/caffe_pb2.py", line 6, in <module>

from google.protobuf.internal import enum_type_wrapper

ImportError: No module named google.protobuf.internal

solution:sudo apt-get install python-protobuf

Ubuntu16.04安装Caffe(CPU Only)相关推荐

  1. Ubuntu16.04安装Caffe史上最详细教程(CPU),亲测三次!!!

    一.前言 为了安装caffe,本人已经在centos7.x上试错了1次,目前弃疗~:在Ubuntu18.04上试错了3次,目前也弃疗~不是我懒,说实话,bug是真tm多,问问度娘,自己体会体会~我一向 ...

  2. Ubuntu16.04下caffe CPU版的详细安装步骤

    一.caffe简介 Caffe,是一个兼具表达性.速度和思维模块化的深度学习框架. 由伯克利人工智能研究小组和伯克利视觉和学习中心开发. 虽然其内核是用C++编写的,但Caffe有Python和Mat ...

  3. linux caffe ssd安装错误,ubuntu16.04安装caffe以及各种问题汇总

    前言: 本文是基于已经成功安装了python各种常用包.opencv.cuda. 安装过程 1.首先安装各种更新包 sudo apt-get update sudo apt-get upgrade s ...

  4. ubuntu16.04下载caffe(CPU版本)及部分文件说明

    一.caffe下载   caffe的下载是个麻烦的过程,真是废了九牛二虎之力.分CPU版本和GPU版本.在GPU版本中需要使用到CUDA驱动,所以显卡必须是英伟达(Nvidia)的显卡.可通过以下命令 ...

  5. ubuntu16.04 安装caffe以及python接口

    http://blog.csdn.net/qq_25073253/article/details/72571714 http://blog.csdn.net/greed7480/article/det ...

  6. Ubuntu16.04安装caffe问题总结以及解决方案

    th@th-Satellite-L40-A:~/caffe$ python >>> import caffe 若不报错则表示 caffe 的 python 接口已正确编译 以下是我导 ...

  7. Ubuntu 16.04 安装 caffe

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

  8. Ubuntu16.04 安装 CUDA、CUDNN、OpenCV 并用 Anaconda 配置 Tensorflow 和 Caffe 详细过程

    Ubuntu16.04 安装 CUDA.CUDNN.OpenCV 并用 Anaconda 配置 Tensorflow 和 Caffe 详细过程 1.配置环境 Ubuntu16.04 64-bit系统 ...

  9. Ubuntu16.04 安装 CUDA、CUDNN、OpenCV 并用 Anaconda 配置 Tensorflow 和 Caffe 详细过程(此种方案不好,好的方案是另一篇,基于pyhton2的)

    Ubuntu16.04 安装 CUDA.CUDNN.OpenCV 和 Caffe 详细过程(基于Python2,没有anaconda2和3,因为基于anaconda2和3在安装caffe时会报错,很难 ...

最新文章

  1. C#之windows桌面软件第十一课:电脑ADC值显示(上位机)(多通道显示)
  2. 金山卫士UI原理解析(2)CBkWindow
  3. Flink从入门到精通100篇(二十)-跨境电商 Shopee 的实时数仓之路
  4. 九度OnlineJudge之1004:Median
  5. 算法工程师的效率神器——vim篇
  6. 校招小白机考入坑之从键盘输入java的各种数据类型
  7. chrome设置微信ua_新支付宝json_ua分析
  8. 小菜学设计模式——观察者模式
  9. 一场由SameSite字段引发的前端悲剧
  10. 更改Cygwin的主机名,改WINDOWS的计算机名即可
  11. ThinkPHP/---微信支付PC流程
  12. 制作原生的Win10 PE 1809
  13. 用计算机制作标准曲线的方法,如何绘制标准曲线
  14. HTML5制作网页版个人简历
  15. 第三方登录微信登录流程
  16. 5G中大规模MIMO系统通信的若干分析
  17. Aras innovator: 如何制作一个itemtype的BOM结构
  18. cad菜单栏快捷键_干货|如何快速将图片转换成CAD文件格式
  19. LaTeX标点符号基础
  20. 飞腾CPU 麒麟系统 安装docker

热门文章

  1. mysql where substr_mysql – 在WHERE子句中使用substr的SELECT语句
  2. java 海量文件存储_【直通BAT】海量数据面试总结
  3. 将button变成圆形(有弧度)
  4. 搭建webdriver环境
  5. java 集合类 *****
  6. 微信公众平台开发--判断终端使用的浏览器是否是微信浏览器
  7. C++11中新特性之:lambda 表达式
  8. Drupal basic
  9. Vue中vue-router路由使用分析
  10. [Vue warn]: Property or method id is not defined on the instance but referenced during render.