Ubuntu系统---安装Caffe (+OpenCV+Python+CPU-only)
安装配置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 。
三、开始安装【图文说明】
(1)Linux系统: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)的更多相关文章
- Ubuntu系统---安装English版本之后的一些工作
Ubuntu系统---安装English版本之后的一些工作 安装完U ...
- ubuntu系统中查看本机cpu和内存信息的命令和用法
https://zhidao.baidu.com/question/192966322.html 写出ubuntu linux系统中查看本机cpu和内存信息的命令和用法,以及如何解读这些命令 ubun ...
- Ubuntu系统---安装“搜狗拼音法”导致桌面打不开
Ubuntu系统---安装“搜狗拼音法”导致桌面打不开 ubuntu系统中文版,安装完后,自带中文输入法.中文用着好好的,用一段时间后,就会莫名的出现,切换不过来,中文输入不好用了.只是简单想装一个搜 ...
- Ubuntu系统---安装思维导图XMind
Ubuntu系统---安装思维导图XMind @wp20181011 XMind安装很简单,这里简单记录记录一下.分为三步:1,下载.2,安装.3,设置桌面快捷图标. 详细步骤如下: 1,下载. 首先 ...
- Ubuntu系统---安装 WPS
Ubuntu系统---安装 WPS Ubuntu桌面系统自带了Libreoffice办公软件,但是个人觉得它不符合我们中国人的使用习惯.搜索了Office For Linux,好麻烦,也会出现问题, ...
- 来杯Caffe——在ubuntu下安装Caffe框架并测试
Caffe是一种深度学习框架...blablabla...... Caffe要在ubuntu下安装 1. 安装依赖 sudo apt-get install libatlas-base-dev sud ...
- 基于深度学习的人脸识别系统(Caffe+OpenCV+Dlib)【三】VGG网络进行特征提取
前言 基于深度学习的人脸识别系统,一共用到了5个开源库:OpenCV(计算机视觉库).Caffe(深度学习库).Dlib(机器学习库).libfacedetection(人脸检测库).cudnn(gp ...
- ubuntu下安装配置OpenCV
Cmake的安装 我用的是ubuntu-software自动下载安装的. Ubuntu 下安装 OpenCV 首先下载安装相关包,然后下载OpenCV 系统:ubuntu16.04 OpenCV:2. ...
- win7 64 旗舰版虚拟GPU-VMware下+vs2013安装caffe+matlab+python
转发请说明来处 Win7配置caffe(无GPU) 配置环境: 必须:win7 64 + vs2013 Win7 64位旗舰版要升级到service spack(因为是在vs2013下,想安装vs20 ...
随机推荐
- 当微信小程序遇到AR(四)
当微信小程序遇到AR,会擦出怎么样的火花?期待与激动...... 通过该教程,可以从基础开始打造一个微信小程序的AR框架,所有代码开源,提供大家学习. 本课程需要一定的基础:微信开发者工具,JavaS ...
- Java学习笔记-设计模式
常见设计模式有23种,设计模式是解决某一类问题最行之有效的方法 单例设计模式 解决一个类在内存中只存在一个对象 思想 为了避免其他程序过多建立该类对象.先禁止其他程序建立该类对象 还为了让其他程序可以 ...
- 2019SDN第四次作业
一.配置java环境 输入命令sudo gedit ~/.bashrc 添加如下内容 二.启动并安装插件 cd distribution-karaf-0.4.4-Beryllium-SR4/bin/ ...
- mysql根据时间统计数据语句
select FROM_UNIXTIME(`createtime`, '%Y年%m月%d日')as retm,count(*) as num from `user` GROUP BY retm se ...
- elasticsearch 安装head
git clone https://github.com/mobz/elasticsearch-head.git yum install nodejs npm install 修改Elasticsea ...
- [转帖]System Dynamic Management Views
System Dynamic Management Views https://docs.microsoft.com/en-us/sql/relational-databases/system-dyn ...
- 获取 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 ...
- JZOJ.1153【贪心算法】硬币交换
好难啊!!! 可聪明的我还是解出来了!(逃 题目描述 小z最近迷上了一款游戏――To Be A Farmer,他在游戏中控制的人物是一个叫FZ的Farmer.FZ身上有G1个金币.S1个银币和B1个铜 ...
- Python可修改和不可修改类型变量(mutuable and immutuable)
通俗的讲,可修改可以理解为可以在数据所在内存地址直接修改,而不可修改则意味着一旦修改便是创建新的数据对象,而不是在原来的对象内存地址修改 1,Mutuable object [sourcecode l ...
- Redis学习存档(2)——通过Java使用Redis:Jedis
一.创建项目,引入jedis jar包 可在百度搜索maven repository 进入后搜索jedis,复制依赖包到pom.xml文件中 <project xmlns="http: ...