caffe [CPU ONLY] 2017-01-15

最简单的安装配置方式: 不用GPU加速,使用OPENCV2.4图像库, 这是根据官方教程(链接如下)简化而得到.

Ubuntu 16.04 or 15.10 Installation Guide

1. 软件源更新

刚刚安装好Ubuntu16.04的系统之后,第一步应该是更新软件源,有多种方式,这里使用的是直接编辑配置文件的方式.

# 01在修改source.list前,最好先备份一份
sudo cp /etc/apt/sources.list /etc/apt/sources.list.old # 02执行命令打开sources.list文件:
# 可以用vim, gedit, kate, atom等工具打开
# sudo vim /etc/apt/sources.list sudo gedit /etc/apt/sources.list # 03写入新的软件源
# 这里推荐清华大学的Ubuntu镜像
# 北京交通大学的Ubuntu镜像只能给Ubuntu14.04及一下版本的使用
# 具体内容见后面 # 04开始更新
sudo apt-get update # 05不要进行系统升级!!!
# 即,不要执行下面的命令
# sudo apt-get upgrade

清华大学Ubuntu16.04软件源

# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe ultiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security multiverse 

2. 前置命令执行[安装各种包]

sudo apt-get update

sudo apt-get install -y build-essential cmake git pkg-config

sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler

sudo apt-get install -y libatlas-base-dev 

sudo apt-get install -y --no-install-recommends libboost-all-dev

sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev

# (Python general)
sudo apt-get install -y python-pip # (Python 2.7 development files)
sudo apt-get install -y python-dev
sudo apt-get install -y python-numpy python-scipy # (OpenCV 2.4)
sudo apt-get install -y libopencv-dev
这些命令做了什么

安装了编译工具cmake, git客户端, hdf5/lmdb,以及boost图像库

Python部分选择2.7版本,安装对应的numpy库, 是否安装成功可以通过如下方式测试[不报错则numpy库安装ok]:

OpenCV2.4通过上面的命令直接安装完成,省去了OPENCV3和OPENCV3.1编译和一步步配置安装的过程.

3. 下载/配置/编译 caffe

3源码下载/解压

项目地址: https://github.com/BVLC/caffe

选择直接下载,得到 caffe-master.zip

注:虽然可以通过git命令直接clone项目(git clone https://github.com/BVLC/caffe.git ),但是速度特别慢,只有4KB左右,建议直接下载

解压到~/bin 目录下

sudo make ~/bin
cd ~/bin
cp /PATH/TO/caffe-master ~/bin
unzip caffe-master.zip
rm -rf caffe-mater.zip
3安装caffe

进入caffe-master目录

cd ~/bin/caffe-master/
cp Makefile.config.example Makefile.config # 编辑配置文件
# 安装kate,用命令
# sudo apt-get install kate
kate ./Makefile.config &

编辑配置文件

Makefile.config

#  因为只使用CPU
# 不用GPU加速
# 所以 取消注释
# 默认是使用 GPU + CPU 运算
# CPU-only switch (uncomment to build without GPU support).
# CPU_ONLY :=
CPU_ONLY := # Python2. 运行环境配置项
# 让 Makefile.config包含下面内容
# 不用修改
PYTHON_INCLUDE := /usr/include/python2. /usr/lib/python2./dist-packages/numpy/core/include
# 取消注释
WITH_PYTHON_LAYER := #下面两项,包含下面的内容就好
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 /usr/lib/x86_64-linux-gnu/hdf5/serial # OPENCV3还需要额外配置,OPENCV2.4不用

Makefile

kate Makefile.config
# 替换
NVCCFLAGS += -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
# 如下
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

在正式编译之前,可能还需要附加hdf5的设置:

find . -type f -exec sed -i -e 's^"hdf5.h"^"hdf5/serial/hdf5.h"^g' -e 's^"hdf5_hl.h"^"hdf5/serial/hdf5_hl.h"^g' '{}' \;

cd /usr/lib/x86_64-linux-gnu

sudo ln -s libhdf5_serial.so.10.1. libhdf5.so

sudo ln -s libhdf5_serial_hl.so.10.0. libhdf5_hl.so 

进入caffe-master/python目录

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

#上面代码执行如果出现什么问题,再尝试下面的的命令:
for req in $(cat requirements.txt); do sudo -H pip install $req --upgrade; done

编译

make all
make test
make runtest
make pycaffe -should be finished already, so you can omit this one
make distribute

上面的命令都可以替换成如下形式:

make all

# can become

make all -j $(($(nproc) + ))

4. MNIST实验

下面的操作都是在caffe-master目录下,切换工作目录

cd ~/bin/caffe-master

步骤一:数据预处理 [下载数据]

sh data/mnist/get_mnist.sh

步骤二:重建lmdb文件. Caffe支持多种数据格式输入网络,包括Image(.jpg, .png等),leveldb,lmdb,HDF5等,根据自己需要选择不同输入吧.

$ sh examples/mnist/create_mnist.sh

生成mnist-test-lmdb和 mnist-train-lmdb文件夹,这里包含了lmdb格式的数据集.

步骤三:训练mnist. [CPU Only需要修改配置文件]

sh examples/mnist/train_lenet.sh
# 输出 "Optimization Done."
# 成功,准确率达到99%

:如何修改配置文件支持CPU ONLY

# CUP Only 修改配置文件
vim examples/mnist/lenet_solver.prototxt # 将配置文件末尾修改如下
# solver mode: CPU or GPU
# solver_mode: GPU
solver_mode: CPU

iiiiiiii

深度学习caffe:Ubuntu16.04安装指南(1)的更多相关文章

  1. 【深度学习】ubuntu16.04下安装opencv3.4.0

    1.首先安装一些编译工具 # 安装编译工具 sudo apt-get install build-essential # 安装依赖包 sudo apt-get install cmake git li ...

  2. 人工智能深度学习Caffe框架介绍,优秀的深度学习架构

    人工智能深度学习Caffe框架介绍,优秀的深度学习架构 在深度学习领域,Caffe框架是人们无法绕过的一座山.这不仅是因为它无论在结构.性能上,还是在代码质量上,都称得上一款十分出色的开源框架.更重要 ...

  3. win7 配置微软的深度学习caffe

    win7 配置微软的深度学习caffe   官方下载: https://github.com/Microsoft/caffe 然后 直接修改caffe目录下的windows目录下的项目的props文件 ...

  4. 搭建实用深度学习环境(Ubuntu16.10+Theano0.8.2+Tensorflow0.11.0rc1+Keras1.1.0)

    在动手安装之前,首先要确定硬件,系统,准备安装软件的版本,确定这些软硬件之间是否相互支持或兼容.本文安装的主要环境和软件如下: Ubuntu16.10+CUDA8.0(cudnn5.1,CNMEM)+ ...

  5. caffe + ubuntu16.04 (version without GPU)

    This Guide is based on caffe github wiki guide (https://github.com/BVLC/caffe/wiki/Ubuntu-16.04-or-1 ...

  6. 【机器学习PAI实践十】深度学习Caffe框架实现图像分类的模型训练

    背景 我们在之前的文章中介绍过如何通过PAI内置的TensorFlow框架实验基于Cifar10的图像分类,文章链接:https://yq.aliyun.com/articles/72841.使用Te ...

  7. acm的ubuntu (ubuntu16.04 安装指南,chrome安装,vim配置,git设置和github,装QQ)

    日常手贱把ubuntu14.04更新到了16.04,然后就game over了.mdzz,不然泥萌也看不到这篇博客了=.= 然后花了些时间重装了一个16.04版的,原来那个14.04的用可以用,就是动 ...

  8. Ubuntu14.04上深度学习Caffe库安装指南(CUDA7.5 + opencv3.1)

    Ubuntu14.04上Caffe安装指南 安装的准备工作 首先,安装官方版Caffe时.假设要使用Cuda.须要确认自己确实有NVIDIA GPU. 安装Ubuntu时,将/boot 分区分大概20 ...

  9. 【.NetCore学习】ubuntu16.04 搭建.net core mvc api 运行环境

    查看linux内核版本 uname -a 打印结果 python@ubuntu:~$ uname -a Linux ubuntu 4.4.0-31-generic #50-Ubuntu SMP Wed ...

随机推荐

  1. 什么是Jsp

    1.什么是jsp java server page(java 服务器端页面技术),是 sun 公司制订的一种服务器端动态页面生成技术的规范. 因为直接使用 servlet 生成页面,如果页面比较复杂, ...

  2. 【python之路10】python实例练习

    #!usr/bin/env python # -*- coding:utf-8 -*- # 一.元素分类 # # 有如下值集合 [11,22,33,44,55,66,77,88,99,90...], ...

  3. 判断iPhone/android手机

    JS判断请求来自Android手机还是iPhone手机,根据不同的手机跳转到不同的链接. var browser = {versions: function () {var u = navigator ...

  4. bat脚本:自动压缩n天前的文件【转载】

    原文如下: bat脚本:自动压缩n天前的文件-中原小伙-ChinaUnix博客http://blog.chinaunix.net/uid-24946452-id-1651762.html     磁盘 ...

  5. zf-关于<ww:iterator /> 标签中的<td /> 标签添加序号问题

    一开始代码是这样的 那个<ww:if> 标签 是我添加的,可是添加之后出问题了. 因为我加了一个判断语句,使得不需要的信息没显示出来,导致#li.count 这个显示下标的方法行不通了 之 ...

  6. zf-关于被发牌人没有显示环节的那个被发牌人的解决办法

    是存储过程里的字段没有插入进去,添加个presonName即可--修改的时候可以执行 dbo.dingshi_fapai 来进行存储 如果添加presonName 必须在临时表里加上这个字段,然后在进 ...

  7. error: QApplication: No such file or directory

    尝试用Qt5编译Qt4的工程.你会遇到下面的问题: 错误:C1083: 无法打开包括文件:“QApplication”: No such file or directory 出现原因:Qt5里不再用Q ...

  8. HDU-5289<two pointers>

    题意: 求一个数列中存在多少个区间,每个区间内的数的差不超过k; 思路:two_pointers; #include<iostream> #include<cstdio> #i ...

  9. git使用时遭遇the authenticity of host can't be established

    修改/etc/ssh/ssh_config文件的配置,以后则不会再出现此问题 最后面添加: StrictHostKeyChecking no UserKnownHostsFile /dev/null

  10. 怎样把人物处理的清晰PS教程

    首先打开PS软件,导入一张人物图片 然后复制图层,点滤镜---杂色----减少杂色 点高级 点确定. 点图像-----调整-----匹配颜色在点一下中和,中和看图效果,也可点 也可不点 切记,然后确定 ...