深度学习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 ...
随机推荐
- 什么是Jsp
1.什么是jsp java server page(java 服务器端页面技术),是 sun 公司制订的一种服务器端动态页面生成技术的规范. 因为直接使用 servlet 生成页面,如果页面比较复杂, ...
- 【python之路10】python实例练习
#!usr/bin/env python # -*- coding:utf-8 -*- # 一.元素分类 # # 有如下值集合 [11,22,33,44,55,66,77,88,99,90...], ...
- 判断iPhone/android手机
JS判断请求来自Android手机还是iPhone手机,根据不同的手机跳转到不同的链接. var browser = {versions: function () {var u = navigator ...
- bat脚本:自动压缩n天前的文件【转载】
原文如下: bat脚本:自动压缩n天前的文件-中原小伙-ChinaUnix博客http://blog.chinaunix.net/uid-24946452-id-1651762.html 磁盘 ...
- zf-关于<ww:iterator /> 标签中的<td /> 标签添加序号问题
一开始代码是这样的 那个<ww:if> 标签 是我添加的,可是添加之后出问题了. 因为我加了一个判断语句,使得不需要的信息没显示出来,导致#li.count 这个显示下标的方法行不通了 之 ...
- zf-关于被发牌人没有显示环节的那个被发牌人的解决办法
是存储过程里的字段没有插入进去,添加个presonName即可--修改的时候可以执行 dbo.dingshi_fapai 来进行存储 如果添加presonName 必须在临时表里加上这个字段,然后在进 ...
- error: QApplication: No such file or directory
尝试用Qt5编译Qt4的工程.你会遇到下面的问题: 错误:C1083: 无法打开包括文件:“QApplication”: No such file or directory 出现原因:Qt5里不再用Q ...
- HDU-5289<two pointers>
题意: 求一个数列中存在多少个区间,每个区间内的数的差不超过k; 思路:two_pointers; #include<iostream> #include<cstdio> #i ...
- git使用时遭遇the authenticity of host can't be established
修改/etc/ssh/ssh_config文件的配置,以后则不会再出现此问题 最后面添加: StrictHostKeyChecking no UserKnownHostsFile /dev/null
- 怎样把人物处理的清晰PS教程
首先打开PS软件,导入一张人物图片 然后复制图层,点滤镜---杂色----减少杂色 点高级 点确定. 点图像-----调整-----匹配颜色在点一下中和,中和看图效果,也可点 也可不点 切记,然后确定 ...