学习深度学习已经很久了,但一直没有自己动手安装过caffe,因为工作需要,需要在linux系统中安装caffe,因此,在这里对安装过程进行记录。
caffe配置起来比tensorflow更麻烦一些,我主要是根据官网上的安装说明进行安装的,也参考了Youtube上的教程。我是在虚拟机中的Ubuntu18.4系统中进行安装的,安装的是CPU版本的caffe。
在caffe官网上可以找到Ubuntu系统中caffe的安装说明因为我的Ubuntu版本是>=17.4的。
安装caffe前,先按照官网上的说明,把需要的环境安装好。如果需要安装GPU版本的caffe,请先把cuda安装好,如果需要python接口,也先把python环境安装好。安装python环境时,建议直接安装Anaconda,因为它包含了一些caffe需要的科学计算库。
因为我要安装CPU版本的caffe,所以,执行以下两条命令安装caffe预编译包和caffe的依赖
sudo apt install caffe-cpu
sudo apt build-dep caffe-cpu
然后编译caffe
编译caffe可以通过make进行编译,也可以通过Cmake进行编译。我是通过make进行编译的。
通过git clone https://github.com/BVLC/caffe.git命令下载caffe到本地,进入caffe目录,执行
cp Makefile.config.example Makefile.config
然后修改Makefile.config,Makefile.config中都有注释,所以可以根据自己的需要进行修改。我安装的python版本是3.7的,下面是我自己的修改(仅供参考):
CPU_ONLY := 1
OPENCV_VERSION := 3
ANACONDA_HOME := $(HOME)/anaconda3
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
$(ANACONDA_HOME)/include/python3.7m \
$(ANACONDA_HOME)/lib/python3.7/site-packages/numpy/core/include
PYTHON_LIBRARIES := boost_python3 python3.7m\
PYTHON_LIB := $(ANACONDA_HOME)/lib
WITH_PYTHON_LAYER := 1
修改之后,一次执行以下三条命令:
make all
make test
make runtest
如果make all执行后出现问题,解决之后重新make all之前需要先执行make clean清除之前编译的可执行文件及配置文件。
完成1和2后,caffe已经成功安装了。接下来安装python接口,执行以下命令:
make pycaffe
make pytest
设置python的环境变量,在~/.bashrc中添加export PYTHON_PATH=/home/用户名/caffe/python:$PYTHON_PATH
配置好python接口后,就可以在python中成功import caffe了。
通过上面的3步就可以成功安装好caffe了,在安装过程中可能会碰到一些问题,每个人碰到的问题可能也不太一样,但碰到的问题基本都能搜到解决方案,下面是我碰到的一些问题和解决方案:
error1: /usr/bin/ld: cannot find -latlas
solution: sudo apt-get install libatlas-base-dev
error2: libpython3.7m.so.1.0: cannot open shared object file: No such file or directory
solution: sudo apt-get install libpython3.7-dev
error3: libhdf5_hl.so.100: cannot open shared object file: No such file or directory
solution: 通过find命令可以查到在anaconda3/lib目录下有libhdf5_hl.so.100文件,因此在~/.bashrc中添加export LD_LIBRARY_PATH=/home/用户名/anaconda3/lib:$LD_LIBRARY_PATH
error4: No module named google
solution: conda install protobuf