Ubuntu14.04 x86_64-linux-gnu环境下安装caffe无GPU

  1. 准备工作

1.1 Caffe安装包下载

#git clone https://github.com/BVLC/caffe.git

1.2 安装依赖软件
由于Caffe所依赖的软件也都是比较有用的,因此下面依次介绍需要安装的依赖软件

# sudo apt-get install libprotobuf-dev protobuf-compiler

protobuf是Google开发的一种二进制格式数据传输格式,作用类似xml和json

# sudo apt-get install libleveldb-dev

leveldb是Google实现的高效kv数据库

# sudo apt-get install libsnappy-dev

snappy是Google开发的压缩库,它可以利用单颗Intel Corei7处理器内核处理至少每秒250MB~500MB的数据流

# sudo apt-get install libopencv-dev

OpenCV是一个基于BSD许可的开源跨平台计算机视觉库

# sudo apt-get install libhdf5-serial-dev libhdf5-dev

HDF是用于存储和分发科学数据的一种自我描述、多对象文件格式。HDF是由美国国家超级计算应用中心(NCSA)创建的,以满足不同群体的科学家在不同工程项目领域之需要。HDF可以表示出科学数据存储和分布的许多必要条件

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

boost是一个准标准库,相当于STL的延续和扩充,它的设计理念和STL比较接近,都是利用泛型让复用达到最大化。不过对比STL,boost更加实用。STL集中在算法部分,而boost包含了不少工具类,可以完成比较具体的工作。boost主要包含一下几个大类:字符串及文本处理、容器、迭代子(Iterator)、算法、函数对象和高阶编程、泛型编程、模板元编程、预处理元编程、并发编程、数学相关、纠错和测试、数据结构、输入/输出、跨语言支持、内存相关、语法分析、杂项

# sudo apt-get install libatlas-base-dev

ATLAS(Automatically Tuned Linear Algebra Software)是一个基于BLAS(Basic Linear Algebra Subprograms)的跨平台高性能线性代数数学包

# sudo apt-get install libgflags-dev

gflags是Google开发的一套命令行参数解析工具,他可以替代getopt(),使用起来更加方便灵活,包括支持C++内建的类型如string,gflags还支持从环境变量、配置文件读取参数(可用gflags代替配置文件)

# sudo apt-get install libgoogle-glog-dev

glog是Google维护的一个开源的C++ log库

# sudo apt-get install liblmdb-dev

lmdb是lmdb是openLDAP项目开发的嵌入式(作为一个库嵌入到宿主程序)存储引擎。其主要特性有:基于文件映射IO(mmap);基于B+树的key-value接口;基于MVCC(Multi Version Concurrent Control)的事务处理;类bdb(berkeley db)的api[6]

1.3 修改Makefile.config
下载的caffe包含的是Makefile.config.example,可以使用如下命令生成Makefile.config

#cp Makefile.config.example Makefile.config

取消注释:CPU_ONLY := 1
将:LIBRARY_DIRS := (PYTHONLIB)/usr/local/lib/usr/libLIBRARYDIRS:= (PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu
(PS:/usr/lib/x86_64-linux-gnu该目录是libhdf5所在的文件目录)

1.4 修改Makefile

# vim Makefile

将:LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
修改为:LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
(这个得根据实际情况修改,查看usr/lib/x86_64-linux-gnu下得lib hdf5的名字,然后根据实际情况修改)
2. 编译Caffe

# make all -j4
# make test -j4
ps:(-j4这个是根据使用多核cpu进行编译)

3.可以根据实际情况编译python接口

#make pycaffe -j4

4.测试Caffe
make runtest最后看到结果就算是大功告成了!

5.测试阶段
5.1安装完了,测试一下能不能用。首先cd到caffe目录,然后输入命令:

    #sh data/mnist/get_mnist.sh  
    #sh examples/mnist/create_mnist.sh  
    #vim examples/mnist/lenet_solver.prototxt

PS:把lenet_solver.prototxt里面的solver_mode 改为 CPU。因为我们还没装GPU,暂时只使用CPU就好了。

5.2 运行脚本

    #./examples/mnist/train_lenet.sh  

6.网站推荐
https://github.com/BVLC/caffe/wiki/Model-Zoo
(PS:该网站有许多caffe的网络模型)

参考文档:
http://blog.csdn.net/solomonlangrui/article/details/52435061
http://www.cnblogs.com/platero/p/3993877.html
https://github.com/BVLC/caffe/wiki/Model-Zoo

你可能感兴趣的:(caffe)