学习深度学习已经好久了,但一直没有本身动手安装过caffe,由于工做须要,须要在linux系统中安装caffe,所以,在这里对安装过程进行记录。html
caffe配置起来比tensorflow更麻烦一些,我主要是根据官网上的安装说明进行安装的,也参考了Youtube上的教程。我是在虚拟机中的Ubuntu18.4系统中进行安装的,安装的是CPU版本的caffe。python
在caffe官网上能够找到Ubuntu系统中caffe的安装说明由于个人Ubuntu版本是>=17.4的。linux
安装caffe前,先按照官网上的说明,把须要的环境安装好。若是须要安装GPU版本的caffe,请先把cuda安装好,若是须要python接口,也先把python环境安装好。安装python环境时,建议直接安装Anaconda,由于它包含了一些caffe须要的科学计算库。git
- 由于我要安装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了,在安装过程当中可能会碰到一些问题,每一个人碰到的问题可能也不太同样,但碰到的问题基本都能搜到解决方案,下面是我碰到的一些问题和解决方案:github
- 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 googlesolution: conda install protobuf