Detectron 框架安装与使用要点(上)

主要提供基于Dockerfile的detectron框架安装代码与其使用过程中的几点注意事项

前言:距离上次更新已经很遥远了~~~ Tensorflow的物体检测框架已经基本搞完,中间穿插了一些ssd的镜像制作,年后回来开始上手Facebook的开源检测框架 Detectron,目前为止还有去阅读源码,安装环境加弄清使用流程用了一周的时间,实在惭愧,这里总结一下,希望能够有所帮助。

Detectron安装

Detectron 是Facebook AI开源的一个检测框架,其中集成了Mask R-CNN,RetinaNet等先进模型。官方网址为: https://github.com/facebookresearch/Detectron

Detectron 依赖于caffe2(现在caffe2现在已经集成到了pytorch里)。caffe2的安装教程官网为:https://caffe2.ai/docs/getting-started.html。其中提供了各种不同平台的不同安装源的教程,大家可以根据自己操作系统平台选择对应教程安装(但是Detectron只支持Linux),如下所示:

通过在官网的浏览了解到,Detectron只支持GPU运行,因此需要选择GPU版本的caffe2环境;其次,Detectron官网的提示其依赖为python2。通过实际安装,这里说明一下Detectron是兼容python3运行的

Detectron的安装流程相对清晰,根据官网的说明,主要分为以下四个部分:

  • NVIDIA GPU 环境相关CUDA与cuDNN,版本参照官网
  • Caffe2
  • COCO API
  • Detectron

本人使用的操作系统为CentOS。caffe2官网没有相关的源码安装教程,提示与Ubuntu系统上安装流程一致。参照Ubuntu的源码安装caffe2流程,尝试了在CentOS上源码安装,或许是由于caffe2在pytorch上的迁移,也或许是我其中的步骤没有操作正确,总会出现一个错误,这里就不提示了,也借鉴过他人的教程,依然没有走通,并且整个流程就算走通也是比较麻烦,因此最后还是通过conda来安装,也是借鉴别人的话 “conda大法好啊!”。下面直接把Dockerfile文件的内容贴出来,不使用docker的就按照对应的操作执行即可,简单清晰。

# home下,基于centos的detectron镜像制作
FROM nvidia/cuda:9.0-cudnn7-devel-centos7

# 设置网络
ARG https_proxy=https://
ARG http_proxy=http://

    # 安装相关工具
RUN yum -y install wget && 
    yum -y install bzip2 && 
    yum -y install git && 
    yum -y install make && 
    
    # 安装anaconda
    cd /home && 
    wget https://repo.anaconda.com/archive/Anaconda2-2018.12-Linux-x86_64.sh && 
    bash Anaconda2-2018.12-Linux-x86_64.sh -b && 
    echo "PATH=~/anaconda2/bin:$PATH" >> ~/.bashrc && 
    source ~/.bashrc && 
    pip install protobuf && 
    pip install cython && 
    
    # 安装caffe2
    conda install -y pytorch-nightly -c pytorch && 
    # 验证caffe2是否安装成功
    # python -c 'from caffe2.python import core' 2>/dev/null && echo "Success" ||echo "Failure"
    # python -c 'from caffe2.python import workspace; print(workspace.NumCudaDevices())'
    
    # 安装cocoAPI
    git clone https://github.com/cocodataset/cocoapi.git && 
    cd cocoapi/PythonAPI/ && 
    make install && 
    python setup.py install --user && 
    
    # 安装detectron
    cd /home && 
    git clone https://github.com/facebookresearch/detectron && 
    pip install -r detectron/requirements.txt && 
    cd detectron/ && 
    make && 
    yum install -y libSM-1.2.2-2.el7.x86_64 --setopt=protected_multilib=false && 
    yum install -y libXext  && 
    yum install -y libXrender  && 
    # 测试detectron是否安装成功
    # python detectron/tests/test_spatial_narrow_as_op.py

这里安装的Anaconda,如果安装miniconda可以节约镜像空间。如果是用python3.6,则安装对应版本的conda与后续的相关依赖。

关于CentOS系统Detectron的conda安装总结到这里,如有错误误导非常抱歉,欢迎批评指出。下一节对Detectron的使用流程进行简单总结。

给TA买糖
共{{data.count}}人
人已赞赏
文章

关于pytorch中torch.nn.MaxPool2d 、torch.nn.AvgPool2d等函数参数记录说明

2019-1-23 17:36:29

文章

Detectron 框架安装与使用要点(下)

2019-2-22 1:03:27

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
搜索