虽然已经接触深度学习有一段时间了,但是因为教研室的项目原因还是第一次尝试使用caffe。早就听说caffe安装有很多坑,这两个上午的安装历程确实深有感触,网上的许多博客里的教程在使用时碰到各种错误也是让人非常心烦,所以决定自己尝试记录下整个过程。
一.Caffe安装
主要参照官方指导文件:点击打开链接
1.安装依赖库
首先update
$ sudo apt-get update
安装依赖库可能花费不少时间,要耐心等待一下
$ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
$ sudo apt-get install --no-install-recommends libboost-all-dev
安装BLAS :BLAS主要用于支持caffe里的矩阵运算
$ sudo apt-get install libatlas-base-dev
如果Ubuntu版本是14.04或者12.04,还需要更多依赖库,详见:点击打开链接
CUDA:目前是在没有GPU 的老笔记本上,还没有用到CUDA,等老板买的电脑到了以后补上
Python : Ubuntu 16.04里自带
二.安装opencv
如果没有opencv的话,这也是一个比较麻烦的步骤,我安装的是3.4.0版本
1.去官网下载opencv, 下载链接http://opencv.org/releases.html,选择sources版本。
2.解压
unzip opencv-3.4.0.zip
3.安装Cmake与依赖库
$ cd opencv-3.4.0
$ sudo apt-get install cmake
$ sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev
4.创建编译文件夹并编译
$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
5.开始漫长的编译等待
$ sudo make
6.安装
$ sudo make install
7.以上就是opencv的编译过程,接下来我们需要把opencv库添加到路径
$ sudo gedit /etc/ld.so.conf.d/opencv.conf
会打开一个空白文件,在文件里添加:
/usr/local/lib
输入命令使文件生效
$ sudo ldconfig
8.bash的配置
$ sudo gedit /etc/bash.bashrc
在文件末尾添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
执行命令:
$ source /etc/bash.bashrc
$ sudo updatedb
至此opencv安装完毕。
三.下载和编译caffe
$ git clone https://github.com/BVLC/caffe.git
$ cd caffe/
$ cp Makefile.config.example Makefile.config
修改caffe下的Makefile.config,我一开始编译不成功就是因为没有正确修改。
# Whatever else you find you need goes here.
# 添加/usr/include/hdf5/serial
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
# /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/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
如果你和我一样用的是CPU版本,找到Makefile.config中的
#CPU_ONLY := 1
取消注释
同时找到
#OPENCV_VERSION := 3
取消注释
四.编译与测试caffe
$ make all -j4
$ make test
$ make runtest
五.配置Python接口
参考:点击打开链接
安装依赖库
$ sudo apt-get install python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags ipython
$ sudo apt-get install cython
$ sudo apt-get install protobuf-c-compiler protobuf-compiler
编译:
$ cd ~/caffe
$ make pycaffe
添加到python路径
$ sudo gedit /etc/profile
# 添加: export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH
$ source /etc/profile
前面都没有问题的话就可以试试能不能用啦
$ python
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import caffe
>>>