前言
本文旨在记录在Ubuntu16.04和python3.5基础上安装caffe的问题。安装中会遇到一些问题,在每一步都有相应的解决方案。下面以CPU版本为例进行说明。
① 安装依赖
注意:这里如果没装git的同学,请先去安装一个git。
sudo apt-get install git
下面是依赖文件:
# python3 modules (numpy, protobuf, skimage)
sudo pip3 install numpy
sudo apt-get install python3-skimage
sudo apt-get install python3-protobuf
# build essential
sudo apt-get install build-essential cmake git pkg-config
# gflags, glog, lmdb
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
# boost
sudo apt-get install libboost-all-dev
# hdf5
sudo apt-get install libhdf5-dev
# protobuf
sudo apt-get install protobuf-compiler libprotobuf-dev
# blas
sudo apt-get install libblas-dev libcblas-dev libatlas-base-dev libopenblas-dev
# leveldb
sudo apt-get install libleveldb-dev
# snappy
sudo apt-get install libsnappy-dev
② 安装opencv3
我安装的方式是:
git clone https://github.com/opencv/opencv
cd opencv
mkdir build
cd build
cmake ..
make
sudo make install
③ 安装caffe(CPU版本)
从这一步开始,坑就开始多了。这里详细说一下我遇到的坑。
1、Checkout
cd ~/Dev # 我的开发环境目录
git clone https://github.com/BVLC/caffe
cd caffe
cp Makefile.config.example Makefile.config
2、修改Makefile.config文件
如下图所示,在caffe目录下,存在了Makefile.config这个文件。
下面我们要对其进行修改:
1、取消对CPU_ONLY := 1的注释(第8行)
2、取消对OPENCV_VERSION := 3的注释(第21行)
3、取消对PYTHON_INCLUDE的注释(第79行),并对之前的python2对应的PYTHON_INCLUDE进行注释
4、配置引用文件路径(主要是HDF5的路径问题)
原来的路径为:
修改为:
即在INCLUDE_DIRS和LIBRARY_DIRS后面分别加上了/usr/include/hdf5/serial
和/usr/lib/x86_64-linux-gnu/hdf5/serial
5、编译并测试
sudo make all
sudo make test
sudo make runtest
下面是遇到的问题,一些关于python环境变量设置的问题不在此讨论。
- Q1:如果这个时候直接编译(sudo make),会出现问题"ld cannot find lboost_python3",这个时候应该创建一个libboost_python-py35.so的符号链接。
具体做法为"cannot find -lboost_python3" when using Python3 Ubuntu16.04:
cd /usr/lib/x86_64-linux-gnu
sudo ln -s libboost_python-py35.so libboost_python3.so
- Q2:在编译make test的时候显示:"libopencv_core.so.3.3: cannot open shared object: …"
解决方法为:在/etc/ld.so.conf里面加入一行: /usr/local/lib
④ 安装成功
sudo make all
的结果:
sudo make test
的结果:
sudo make runtest
的结果:
⑤ 安装caffe的python接口
这里还没弄,请看参考资料3。
参考资料
[1] install caffe with python3 on ubuntu 17.04
[2] cmake学习笔记
[3] Caffe安装教程:Ubuntu16.04(CPU)