前言
正在在ubuntu 14.04上安装caffe,试着记录一下过程。
ubuntu命令行的快捷键是ctrl+alt+t,以下代码都在命令行输入。
step 1
不同于windows里下载exe文件安装,每个LINUX的发行版,比如UBUNTU,都会维护一个自己的软件仓库,我们常用的几乎所有软件都在这里面。这里面的软件绝对安全,而且绝对的能正常安装。
sudo apt-get update //访问源列表里的每个网址,并读取软件列表,然后保存在本地电脑
step 2
安装依赖,中间有遇到有些文件没有fetch的问题,在一个文件里加了一个地址(什么8.8.8.8)重新update,然后重新安装就行,百度可解。
sudo apt-get install git
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install build-essential //不确定是否需要,不过反正很快
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
第二个命令:
ProtoBuff:
ProtoBuff是由google公司开发的一种可以实现内存与非易失存储介质交换的协议接口,Caffe源码中大量使用ProtoBuffer进行权值和模型参数灯载体。例如,有人喜欢使用TXT存储参数,有人喜欢用BIN存储参数,一个项目中不一样的参数管理会带来很多问题。ProtoBuffer工具很好地解决了这个问题,用户只要建立统一的参数描述文件(proto),然后利用protoc编译就能让协议细节等关键部分代码自动生成。
LEVELDB:
大部分请况下LMDB已经满足使用(提供数据库管理,见下文),但是为了与旧版本兼容,仍然引入例LEVELDB。
snappy:
C++ 的用来压缩和解压缩的开发包。
HDF5:
是能高效存储和分发科学数据的新型数据格式。它可以存储不同类型的图像和数码数据的文件,并且可以在不同类型的机器上传输,同时还有能统一处理这种文件格式的函数库。Caffe训练模型可以选择保存为HDF5格式或默认的ProtoBuffer格式。
第四个命令:
Boost:
C++准标准库,功能强大。
第五个命令:
ATLAS:
提供卷积神经网络中用到的矩阵,向量的计算。
第六个命令:
glog & gflag:
google公司的库,gflag提供命令行参数解析的作用,glog库是用于记录应用程序日志的实用库,提供基于C++标准输入输出流形式的接口。LMDB:
提供数据管理,将Caffe中不同的原始数据,如jpeg,二进制数据转换为统一的key-value存储。
step 3
官网拉取源码
cd
git clone https://github.com/BVLC/caffe.git
step 4
安装许多python包
sudo apt-get install libblas-dev liblapack-dev libatlas-base-dev gfortran python-numpy
sudo apt-get install python-pip
sudo apt-get install python-numpy python-scipy python-matplotlib python-sklearn
sudo apt-get install python-skimage python-h5py python-protobuf python-leveldb
sudo apt-get install python-networkx python-nose python-pandas
sudo apt-get install python-gflags Cython ipython
sudo apt-get update
step 5
一些配置。
cd caffe
cp Makefile.config.example Makefile.config //复制了该文件并重命名
gedit Makefile.config //在里面把cpu_only的注释去掉
step 6
make all //编译caffe。在caffe根目录下。
make pycoffe
cd python
python
import coffe //不报错就成功