Ubuntu16.04 python3 caffe安装

前言

本文旨在记录在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

请参考如何在python3.4上安装opencv3.x

我安装的方式是:

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这个文件。
Ubuntu16.04 python3 caffe安装_第1张图片
下面我们要对其进行修改:

1、取消对CPU_ONLY := 1的注释(第8行
Ubuntu16.04 python3 caffe安装_第2张图片

2、取消对OPENCV_VERSION := 3的注释(第21行
这里写图片描述

3、取消对PYTHON_INCLUDE的注释(第79行),并对之前的python2对应的PYTHON_INCLUDE进行注释
Ubuntu16.04 python3 caffe安装_第3张图片

4、配置引用文件路径(主要是HDF5的路径问题)
原来的路径为:
这里写图片描述
修改为:
Ubuntu16.04 python3 caffe安装_第4张图片

即在INCLUDE_DIRSLIBRARY_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的结果:

Ubuntu16.04 python3 caffe安装_第5张图片

sudo make test的结果:

Ubuntu16.04 python3 caffe安装_第6张图片

sudo make runtest的结果:

Ubuntu16.04 python3 caffe安装_第7张图片

⑤ 安装caffe的python接口

这里还没弄,请看参考资料3。

参考资料


[1] install caffe with python3 on ubuntu 17.04
[2] cmake学习笔记
[3] Caffe安装教程:Ubuntu16.04(CPU)

你可能感兴趣的:(Linux,C/C++,opencv,caffe)