前言

本文介绍如何在Ubuntu 16.04 LTS 系统上配置目标检测框架 Detectron。其他软件版本如下:

  • Python 3.6
  • CUDA 9.0
  • cuDNN 7.3

Detectron 是 Facebook AI 研究组开发的一个实现了目前主流目标识别方法的软件,该软件基于 caffe2 框架上。而 caffe2 又集成于 PyTorch 中,所以需要安装PyTorch.

安装PyTorch

建议手动编译PyTorch,整个过程比较简单。具体如下:

安装依赖项

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$ sudo apt-get update
$ sudo apt-get install -y --no-install-recommends \
      build-essential \
      git \
      libgoogle-glog-dev \
      libgtest-dev \
      libiomp-dev \
      libleveldb-dev \
      liblmdb-dev \
      libopencv-dev \
      libopenmpi-dev \
      libsnappy-dev \
      libprotobuf-dev \
      openmpi-bin \
      openmpi-doc \
      protobuf-compiler \
      python-dev \
      python-pip                          
$ pip install --user \
      future \
      numpy \
      protobuf \
      typing \
      hypothesis
# for Ubuntu 16.04
$ sudo apt-get install -y --no-install-recommends \
      libgflags-dev \
      cmake

安装CUDA

参见另外一篇博文

复制Pytorch仓库代码并安装

1
2
3
$ git clone https://github.com/pytorch/pytorch.git && cd pytorch
$ git submodule update --init --recursive
$ python setup.py install

测试caffe2是否安装成功

1
$ cd ~ && python -c 'from caffe2.python import core' 2>/dev/null && echo "Success" || echo "Failure"

如果现实Success则安装成功。

安装Detectron

安装COCO API

1
2
3
4
5
$ export COCOAPI=/home/lloyd/cocoapi
$ git clone https://github.com/cocodataset/cocoapi.git $COCOAPI
$ cd $COCOAPI/PythonAPI
$ make install
$ python setup.py install --user

Detectron

1
2
3
4
$ export DETECTRON=/home/lloyd/detectron
$ git clone https://github.com/facebookresearch/detectron $DETECTRON
$ pip install -r $DETECTRON/requirements.txt
$ cd $DETECTRON && make

测试

1
$ python $DETECTRON/detectron/tests/test_spatial_narrow_as_op.py

错误汇总

原因,numpy版本问题,经测试numpy==1.16.1版本不会出现该问题。

原因仍是numpy版本问题,经测试numpy==1.16.1版本不会出现该问题。

参考资料

修订历史

  • 2019-06-23, 初稿