安装配置Ubuntu14.04+Caffe

(+OpenCV+Python+CPU-only) 记录

【作者:Wu Ping。时间:20180428。】

本人已经安装很多次的Caffe了:从开始的初探到出现问题的重新安装,或者电脑系统重装后的再次安装,或者因为不同的电脑版本、不同的Ubuntu版本、软件的不同安装方式等等原因,每一次安装都会有不同的“不顺利经历”,顺次解决问题即可。虽然遇到的问题不尽相同,但是总体流程基本相同。

“安装过程,因为平台不同、设备不同、操作者不同,会遇到各种奇怪的问题和报错信息,请善用Caffe官网的Issues和caffe-user论坛,以及Google和Baidu。参考本指南,请下载最新版caffe-master,新版本很多文件已经变更。”

一、目录

(1)Linux系统:Ubuntu 14.04 (64位)【这里安装教程略】

(2)安装开发所需要的一些基本包及安装caffe依赖项

(3)安装ATLAS for Ubuntu

(4)安装OpenCV

(5)编译Caffe

(6)测试Caffe是否安装成功

(7)配置Pycaffe

(8)测试Pycaffe接口是否配置成功

二、安装包准备(下载)

(1)Ubuntu 14.04下载网址:http://www.ubuntu.com/download/desktop

(2)OpenCV下载地址:1官网上下载https://opencv.org/releases.html 。2从sourceforge上http://jaist.dl.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.10/opencv-2.4.10.zip

(3) Caffe下载地址:https://github.com/BVLC/caffe

三、开始安装【图文说明】

1Linux系统:Ubuntu 14.04 64位)【略】

2)安装开发所需要的一些基本包及安装caffe依赖项。

首先,安装开发所需要的一些基本包:sudo apt-get install build-essential。如果出现essential包不可用的情况,可以执行下列命令解决:sudo apt-get update。

接着,安装其他依赖项Ubuntu14.04用户执行: sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencvdev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdbdev protobuf-compiler

如果后面安装caffe出现“没有什么文件或者找不到什么目录”:make all。则sudo apt-get update,再继续单独执行找不到的那个相应文件。比如:

# sudo apt-get install libatlas-base-dev

# sudo apt-get install libprotobuf-dev

# sudo apt-get install libleveldb-dev

# sudo apt-get install libsnappy-dev

3)安装ATLAS for Ubuntu

执行命令:sudo apt-get install libatlas-base-dev。注:ATLAS, MKL,或OpenBLAS都可以,我这里选择安装ATLAS。安装atlas简单易行。

4)安装OpenCV

第一种方法(之前成功安装,这次安装没成功,不知道何因):这个尽量不要手动安装, Github上有人已经写好了完整的安装脚本:

https://github.com/jayrambhia/Install-OpenCV。下载该脚本,解压".zip"文件,

1安装2.4.10 (推荐):https://gist.github.com/bearpaw/c38ef18ec45ba6548ec0

1. 下载安装脚本 https://github.com/bearpaw/Install-OpenCV

2. 进入目录: Install-OpenCV/Ubuntu/2.4

进行Ubuntu/2.4目录,对所有脚本增加可执行权限:sudo chmod +x *.sh

3. 安装依赖项: # Install-OpenCV/Ubuntu

# sh ./dependencies.sh

4. 执行脚本 sh /2.4/opencv2_4_10.sh 或者 sh /2.4/opencv2_4_9.sh

即一:

$ git clone https://github.com/bearpaw/Install-OpenCV

$ cd Install-OpenCV/Ubuntu/2.4

$ sh ./opencv2_4_10.sh

编译过程很慢,中间我还报过一次错,不得不重新来了一次。如果觉得难度不够的话,可以选择官网的安装包:http://opencv.org/,我这里是根据大神编译过的版本进行安装的。

即二:

# cd caffe

# sudo git clone
https://github.com/jayrambhia/Install-OpenCV

# cd Install-OpenCV/Ubuntu

# sudo sh dependencies.sh

# cd 2.4

# sudo sh opencv2_4_10.sh

2安装2.4.9(不推荐)

这块儿时间比较长,保证网络连接,需要联网下载安装包,大概三十分钟,记不清了。。

第二种方法(手动安装,这次成功了。)详见附《ubuntu14.04中安装opencv2.4.10

5)编译Caffe

 上述基本环境准备好后,下载:https://github.com/BVLC/caffe后,进入caffe目录,复制一份Makefile.config 命令:cp Makefile.config.example Makefile.config。

然后,根据自己环境修改相应内容:

   1 取消 CPU_ONLY := 1前面的注释。

   2. cuda 安装路径改为自己的路径 : CUDA_DIR := /usr/local/cuda-6.5

   3. 配置路径:实现caffe对python和matlab接口的支持。

这里仅仅在CPU下配置环境所以只修改 CPU_ONLY := 1。

接下来就可以编译Caffe:

1,sudo make all -j2

2,sudo make test

3,sudo make runtest

Make all 后的截图如下:

Make test后的截图如下:

Make runtest后的截图如下:

6)测试Caffe是否安装成功

以mnist的为例,检验caffe是否装成功,以下命令都在CAFFE根目录下运行:

1.准备数据

sh ./data/mnist/get_mnist.sh

sh ./examples/mnist/create_mnist.sh

2.训练模型:

sh ./examples/mnist/train_lenet.sh

需要修改sudo vi lenet_solver.prototxt 先进入命令模式,使用a进入编辑模式,修改完之后,使用esc退出编辑模式,进入末行模式,再使用“:wq”保存修改并退出(“:q!”为退出但不保存修改):

# solver mode: CPU or GPU

solver_mode: CPU

3.测试模型:

sh ./examples/mnist/test_lenet.sh

新建test_lenet.sh:

1. #!/usr/bin/env

2. "空行"

3.

./build/tools/caffe test model=examples/mnist/lenet_train_test.prototxt
weights=examples/mnist/lenet_iter_10000.caffemodel iterations 100

7)配置Pycaffe

第一步:安装Python-caffe接口的依赖包。

第一种方法(直接执行安装requirement里面的包,没成功)。确保前面的:1,sudo make all -j2;2,sudo make test;3,sudo make runtest等不出错,如果某一行报错之后想要重试,建议先make clean再重新开始。更新安装依赖。

cd caffe

cat python/requirements.txt | xargs -L 1 sudo pip
install

确定使用的是anaconda提供的python环境,然后进入caffe/python, 执行下列命令,

确保pip已经安装

sudo apt-get install python-pip

for req in $(cat requirements.txt); do pip install
$req; done  #python运行需要的库。

再次回到caffe根目录我们可以执行:

在caffe根目录的python文件夹下,有一个requirements.txt的清单文件,上面列出了需要的依赖库,按照这个清单安装就可以了。

在安装scipy库的时候,需要fortran编译器(gfortran),如果没有这个编译器就会报错,因此,我们可以先安装一下。

回到caffe的根目录,然后执行安装代码:

cd ~/caffe

sudo apt-get install gfortran

cd ./python

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

安装完成以后,再次回到caffe根目录我们可以执行:

sudo pip install -r python/requirements.txt

就会看到,安装成功的,都会显示Requirement already satisfied, 没有安装成功的,会继续安装。

第二种方法(直接安装,这次成功)。按照Requirement.txt里面的手动安装,执行如下命令:

sudo apt-get install Cython
python-numpy python-scipy python-skimage python-matplotlib ipython python-h5py
python-leveldb python-networkx python-nose python-pandas python-gflags python-protobuf
python-gflags python-yaml

sudo apt-get install
python-sklearn  protobuf-c-compiler
protobuf-compiler

make pycaffe 出现问题如下:

因为存在低版本的,所以总是报错,本人预想卸载低版本的后再升级,而后通过下方法也可以实现:

sudo pip
install six --upgrade
--target="/usr/lib/python2.7/dist-packages" 
类似的:
sudo pip install leveldb --upgrade
--target="/usr/lib/python2.7/dist-packages"

第二步:加入PythonPath

第一种方法:添加~/caffe/python到$PYTHONPATH。

$ gedit ~/.bashrc    #vim 或者gedit,打开bashrc

export
PYTHONPATH=/home/usrname/caffe/python:$PYTHONPATH   #添加到文件最后,本人是export PYTHONPATH=/home/wp/caffe/python:$PYTHONPATH。

$ source ~/.bashrc    #使更改生效。这样,在其他地方打开python,也可以import
caffe了。

第二种方法:添加~/caffe/python到$PYTHONPATH。

$ sudo gedit /etc/profile

用sudo,只用gedit /etc/profile修改后无法保存

# 末尾添加: export
PYTHONPATH=/path/to/caffe/python:$PYTHONPATH

我的是:export PYTHONPATH=/home/wp/CAFEE/caffemaster/python:$PYTHONPATH

#export PYTHONPATH=自己caffe文件夹下的python路径,一定要是自己的路径!!!

# 用完整路径,不要用~

$ source /etc/profile    #使之生效

8)测试Pycaffe接口是否配置成功

编译python接口:$  make pycaffe -j8

度娘,有说这么就是配置好了,也有说这么不是配置好的,是依赖项没有装全。本人记得之前配置过,貌似也不是这样子的,几经五六次的重新【配置加解决问题都是这样的结果,无可奈何不影响用就行了,继续。

运行python,进入caffe/python
,运行

$ python2.7

Python 2.7.12
(default, Jul  1 2016, 15:12:24)

[GCC 5.4.0
20160609] on linux2

Type
"help", "copyright", "credits" or
"license" for more information.

>>>
import caffe

>>>

测试1,任意路径下执行:

[code]$ python

Python 2.7.6
(default, Jun 22 2015, 17:58:13)

[GCC 4.8.2] on
linux2

Type
"help", "copyright", "credits" or
"license" for more information.

>>>
import caffe

>>>

测试2:

wp@ubuntu:~$
ipython

Python 2.7.6
(default, Oct 26 2016, 20:30:19)

Type
"copyright", "credits" or "license" for more
information.

IPython 1.2.1 --
An enhanced Interactive Python.

? ->
Introduction and overview of IPython's features.

%quickref ->
Quick reference.

help ->
Python's own help system.

object? ->
Details about 'object', use 'object??' for extra details.

In [1]: import
caffe

In [2]:

输入python,如果显示如红框所示,说明当前python是系统默认的python。 说明刚才添加的环境变量没有起作用,需要用命令激活:source
.bashrc 如果显示如蓝框所示,说明当前python用的是Anaconda里的python。安装成功!例如结果:

附录:

具体地,在ubuntu14.04中安装opencv2.4.10

安装索引:

第一部分---安装

1. 下载源码2.4.10

2. 解压 $unzip opencv-2.4.10.zip

3. 创建release目录

$cd opencv-2.4.9

$mkdir release

4. 装依赖包(网查教程)

5. 进release文件夹

$cd release

6. 编译安装(耗时有点长哦)

$cmake

$make all

$make install

第二部分---测试是否安装成功

1. 建立一个test.cpp文件

2. 写一个cmake的makefile(CMakeLists.txt)

3. 编译+运行+例子测试

上述可参考https://blog.csdn.net/wb4916/article/details/54021717。

具体实现图文过程:

1. 先下载OpenCV的源码。从sourceforge上 http://jaist.dl.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.10/opencv-2.4.10.zip
。或者官网上下载https://opencv.org/releases.html

2. 解压到任意目录。

终端命令$ unzip opencv-2.4.10.zip,或者直接提取。

3. 进入源码目录,创建release目录

$ cd opencv-2.4.10

$ mkdir release

4. 可以看到在OpenCV目录下,有个CMakeLists.txt文件,需要事先安装一些软件

$ sudo apt-get install
build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy
libavcodec-dev libavformat-dev libswscale-dev

5. 进入release目录,安装OpenCV是所有的文件都会被放到这个release目录下

$ cd release

6. cmake编译OpenCV源码,安装所有的lib文件都会被安装到/usr/local目录下

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

检查一下:wp@wp-ms-7519:~/opencv-2.4.10/release$
cmake --version

cmake version 2.8.12.2

7. 安装

$ sudo make install

8. 测试,在某个目录下建立一个test.cpp文件

#include <cv.h>

#include <highgui.h>

using namespace cv;

int main(int argc, char* argv[])

{

Mat image;

image = imread(argv[1], 1);

if (argc != 2 || !image.data)

{

printf("No image data\n");

return -1;

}

namedWindow("Display Image", CV_WINDOW_AUTOSIZE);

imshow("Display Image", image);

waitKey(0);

return 0;

}

9. 写一个cmake的makefile,也叫CMakeLists.txt

project(test)

find_package(OpenCV REQUIRED)

add_executable(test test)

target_link_libraries(test
${OpenCV_LIBS})

cmake_minimum_required(VERSION 2.8)

10. 编译+运行

(请注意camke的后面还有一个点)

cmake .

make

这样就得到了一个可执行文件test。

11. 
找一张xx.jpg图片做个测试,注意要和上面那个test可执行文件放在同一目录下面,这里名字取的是test.jpg。

12. 
在可执行文件下执行$ ./test test.jpg。 如果能看到照片,那就表示成功。

Ubuntu系统---安装Caffe (+OpenCV+Python+CPU-only)的更多相关文章

  1. Ubuntu系统---安装English版本之后的一些工作

                                                                      Ubuntu系统---安装English版本之后的一些工作 安装完U ...

  2. ubuntu系统中查看本机cpu和内存信息的命令和用法

    https://zhidao.baidu.com/question/192966322.html 写出ubuntu linux系统中查看本机cpu和内存信息的命令和用法,以及如何解读这些命令 ubun ...

  3. Ubuntu系统---安装“搜狗拼音法”导致桌面打不开

    Ubuntu系统---安装“搜狗拼音法”导致桌面打不开 ubuntu系统中文版,安装完后,自带中文输入法.中文用着好好的,用一段时间后,就会莫名的出现,切换不过来,中文输入不好用了.只是简单想装一个搜 ...

  4. Ubuntu系统---安装思维导图XMind

    Ubuntu系统---安装思维导图XMind @wp20181011 XMind安装很简单,这里简单记录记录一下.分为三步:1,下载.2,安装.3,设置桌面快捷图标. 详细步骤如下: 1,下载. 首先 ...

  5. Ubuntu系统---安装 WPS

     Ubuntu系统---安装 WPS Ubuntu桌面系统自带了Libreoffice办公软件,但是个人觉得它不符合我们中国人的使用习惯.搜索了Office For Linux,好麻烦,也会出现问题, ...

  6. 来杯Caffe——在ubuntu下安装Caffe框架并测试

    Caffe是一种深度学习框架...blablabla...... Caffe要在ubuntu下安装 1. 安装依赖 sudo apt-get install libatlas-base-dev sud ...

  7. 基于深度学习的人脸识别系统(Caffe+OpenCV+Dlib)【三】VGG网络进行特征提取

    前言 基于深度学习的人脸识别系统,一共用到了5个开源库:OpenCV(计算机视觉库).Caffe(深度学习库).Dlib(机器学习库).libfacedetection(人脸检测库).cudnn(gp ...

  8. ubuntu下安装配置OpenCV

    Cmake的安装 我用的是ubuntu-software自动下载安装的. Ubuntu 下安装 OpenCV 首先下载安装相关包,然后下载OpenCV 系统:ubuntu16.04 OpenCV:2. ...

  9. win7 64 旗舰版虚拟GPU-VMware下+vs2013安装caffe+matlab+python

    转发请说明来处 Win7配置caffe(无GPU) 配置环境: 必须:win7 64 + vs2013 Win7 64位旗舰版要升级到service spack(因为是在vs2013下,想安装vs20 ...

随机推荐

  1. 当微信小程序遇到AR(四)

    当微信小程序遇到AR,会擦出怎么样的火花?期待与激动...... 通过该教程,可以从基础开始打造一个微信小程序的AR框架,所有代码开源,提供大家学习. 本课程需要一定的基础:微信开发者工具,JavaS ...

  2. Java学习笔记-设计模式

    常见设计模式有23种,设计模式是解决某一类问题最行之有效的方法 单例设计模式 解决一个类在内存中只存在一个对象 思想 为了避免其他程序过多建立该类对象.先禁止其他程序建立该类对象 还为了让其他程序可以 ...

  3. 2019SDN第四次作业

    一.配置java环境 输入命令sudo gedit ~/.bashrc 添加如下内容 二.启动并安装插件 cd distribution-karaf-0.4.4-Beryllium-SR4/bin/ ...

  4. mysql根据时间统计数据语句

    select FROM_UNIXTIME(`createtime`, '%Y年%m月%d日')as retm,count(*) as num  from `user` GROUP BY retm se ...

  5. elasticsearch 安装head

    git clone https://github.com/mobz/elasticsearch-head.git yum install nodejs npm install 修改Elasticsea ...

  6. [转帖]System Dynamic Management Views

    System Dynamic Management Views https://docs.microsoft.com/en-us/sql/relational-databases/system-dyn ...

  7. 获取 request 中用POST方式"Content-type"是"application/x-www-form-urlencoded;charset=utf-8"发送的 json 数据

    request中发送json数据用post方式发送Content-type用application/json;charset=utf-8方式发送的话,直接用springMVC的@RequestBody ...

  8. JZOJ.1153【贪心算法】硬币交换

    好难啊!!! 可聪明的我还是解出来了!(逃 题目描述 小z最近迷上了一款游戏――To Be A Farmer,他在游戏中控制的人物是一个叫FZ的Farmer.FZ身上有G1个金币.S1个银币和B1个铜 ...

  9. Python可修改和不可修改类型变量(mutuable and immutuable)

    通俗的讲,可修改可以理解为可以在数据所在内存地址直接修改,而不可修改则意味着一旦修改便是创建新的数据对象,而不是在原来的对象内存地址修改 1,Mutuable object [sourcecode l ...

  10. Redis学习存档(2)——通过Java使用Redis:Jedis

    一.创建项目,引入jedis jar包 可在百度搜索maven repository 进入后搜索jedis,复制依赖包到pom.xml文件中 <project xmlns="http: ...