深度学习caffe:Ubuntu16.04安装指南(1)
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)的更多相关文章
- 【深度学习】ubuntu16.04下安装opencv3.4.0
1.首先安装一些编译工具 # 安装编译工具 sudo apt-get install build-essential # 安装依赖包 sudo apt-get install cmake git li ...
- 人工智能深度学习Caffe框架介绍,优秀的深度学习架构
人工智能深度学习Caffe框架介绍,优秀的深度学习架构 在深度学习领域,Caffe框架是人们无法绕过的一座山.这不仅是因为它无论在结构.性能上,还是在代码质量上,都称得上一款十分出色的开源框架.更重要 ...
- win7 配置微软的深度学习caffe
win7 配置微软的深度学习caffe 官方下载: https://github.com/Microsoft/caffe 然后 直接修改caffe目录下的windows目录下的项目的props文件 ...
- 搭建实用深度学习环境(Ubuntu16.10+Theano0.8.2+Tensorflow0.11.0rc1+Keras1.1.0)
在动手安装之前,首先要确定硬件,系统,准备安装软件的版本,确定这些软硬件之间是否相互支持或兼容.本文安装的主要环境和软件如下: Ubuntu16.10+CUDA8.0(cudnn5.1,CNMEM)+ ...
- 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 ...
- 【机器学习PAI实践十】深度学习Caffe框架实现图像分类的模型训练
背景 我们在之前的文章中介绍过如何通过PAI内置的TensorFlow框架实验基于Cifar10的图像分类,文章链接:https://yq.aliyun.com/articles/72841.使用Te ...
- acm的ubuntu (ubuntu16.04 安装指南,chrome安装,vim配置,git设置和github,装QQ)
日常手贱把ubuntu14.04更新到了16.04,然后就game over了.mdzz,不然泥萌也看不到这篇博客了=.= 然后花了些时间重装了一个16.04版的,原来那个14.04的用可以用,就是动 ...
- Ubuntu14.04上深度学习Caffe库安装指南(CUDA7.5 + opencv3.1)
Ubuntu14.04上Caffe安装指南 安装的准备工作 首先,安装官方版Caffe时.假设要使用Cuda.须要确认自己确实有NVIDIA GPU. 安装Ubuntu时,将/boot 分区分大概20 ...
- 【.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 ...
随机推荐
- 编译Android各种错误
第一次编译成功,第二次出现Value for 'keystore' is not valid. It must resolve to a single path 打开proj.android\ant. ...
- 关于python的可变和不可变对象
在python中所有都是对象,在python中只有list和dict是可变对象,其他都是不可变对象. 具体参照:http://www.cnblogs.com/lovemo1314/archive/20 ...
- Android Studio的使用(五)--导入第三方Jar包
本篇博文将介绍一下如何导入第三方Jar包. 1.首先将下载的Jar包直接Copy到libs目录下面,然后右击Jar文件,点击Add As Library后,在出现的弹出框点击确定即可. 2.打开bui ...
- MYSQL启用日志,查看日志,利用mysqlbinlog工具恢复MySQL数据库【转载】
转自 MYSQL启用日志,查看日志,利用mysqlbinlog工具恢复MySQL数据库 - _安静 - 博客园http://www.cnblogs.com/xionghui/archive/2012/ ...
- Logcat过滤及常见用法整理
Usage: logcat [options] [filterspecs] options include:-s Set default filter to silent. ...
- easyui tree使用方法
加载数据 $('#treeul').tree({ checkbox:true, url:'initTree.aspx', onLoadSuccess:function(){ //绑定权限 $.ajax ...
- DIV撑开
引用自:http://radzhang.iteye.com/blog/1678734 在CSS排版中,如果一个层中的层使用了float浮动的话,那么就有可能会出现外层没有被内层撑开的情况,如以下代码所 ...
- j2ee常用包的作用
1.antlr-2.7.7.jar 呵呵 一句话,没有此包,hibernate不会执行hql语句 2.aopalliance-1.0.jar 这个包是AOP联盟的API包,里面包含了针对面向切面的 ...
- jstring, String, char* 变换函数
#include <malloc.h> #include <string.h> #include <stdlib.h> #include <vcclr.h&g ...
- Kali渗透测试学习
http://blog.chinaunix.net/uid-26349264-id-4041727.html