Caffe是由伯克利视觉和学习中心开发的基于C++/CUDA/Python实现的卷积神经网络,提供了面向命令行、Matlab、Python的绑定接口。
Caffe环境搭建
系统:Ubuntu16.04
首先安装Caffe依赖包:
$ sudo apt-get install git
$ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serail-dev protobuf-compiler
$ sudo apt-get install --no-install-recommends libboost-all-dev
$ sudo apt-get install libatlas-base-dev
$ sudo apt-get install python-dev
$ sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
下载Caffe源码
$ git clone https://github.com/bvlc/caffe.git
$ cd caffe/
$ cp Makefile.config.example Makefile.config
修改Makefile.config,打开CPU_ONLY选项,保存。
# CPU-only switch (uncomment to build without GPU support).
CPU_ONLY := 1
为了快速入门,就先不倒腾GPU了,这好象挺难了。暂时先在CPU上运行Caffe并阅读其中的C++代码。
执行make进行编译
# -j选项表示使用多线程,利用所有可用CPU,加快编译速度
# 也可以指定数字,如j8表示开启8个线程编译
$ make -j8
等待编译成功…
编译过程中可能出现错误: fatal error: hdf5.h: 没有那个文件或目录
1. 在Makefile.config文件中,添加/usr/include/hdf5/serial/ 到 INCLUDE_DIRS,也就是把下面第一行代码改为第二行代码。
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
2.在Makefile文件中,把 hdf5_hl 和hdf5修改为hdf5_serial_hl 和 hdf5_serial,也就是把下面第一行代码改为第二行代码。
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