Detectron2安装、使用与问题记录

Detectron2安装、使用与问题记录

detectron2是Facebook近期开源的框架,可以在Github上搜查到,本文总结了自己安装框架过程,以及自己碰到的一些问题和解决办法。

目录

  • Detectron2安装、使用与问题记录
    • 安装
    • demo
    • 问题汇总

安装

  1. 环境构建:请尤其注意版本问题!!!
  • Python >= 3.6
    conda create -n abc pyhon=3.6.8

  • PyTorch 1.3与torchvision
    conda install pytorch=1.3 torchvision cudatoolkit=10.0 -c pytorch
    请选择匹配的cudatoolkit版本,以便成功安装框架

  • OpenCV

  • Cython

  • fvcore
    pip install 'git+https://github.com/facebookresearch/fvcore'

  • GCC >= 4.9
    查看gcc版本
    gcc -v

  • pycocotools

pip install git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI

git clone https://github.com/cocodataset/cocoapi.git
cd ./cocoapi/PythonAPI
python setup.py build_ext install
  1. 安装detectron2
git clone https://github.com/facebookresearch/detectron2.git
cd detectron2
python setup.py build develop
#或
pip install -e .

运行后需要耐心等待一会,没有任何报错提示成功安装,就大功告成了

demo

自行从网络上下载一张图片,比如下图,将其放在 /detectron2/ 目录下,同时创建一个result文件夹:
Detectron2安装、使用与问题记录_第1张图片
运行实例分割命令:

python demo/demo.py --config-file configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml --input 1.jpg --output /result --opts MODEL.WEIGHTS detectron2://COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x/137849600/model_final_f10217.pkl

结果图如下:
Detectron2安装、使用与问题记录_第2张图片

问题汇总

  1. 运行pip install -e .python setup.py build develop报错,导致安装不成功
    解决办法:运行python -m detectron2.utils.collect_env 来查看本机搭配环境,需要确认输出信息中的"Detectron2 CUDA Compiler", “CUDA_HOME”, "PyTorch built with - CUDA"包含相同的cuda版本,不相同时,需要重新配置环境
    需要注意:一旦环境中torch版本发生了变化进行以下两步,目的在于重新搭建框架:
    1.1 rm -rf build/ **/*.so
    1.2 pip install -e .python setup.py build develop
  2. 报错如下:
    Searching for tensorboard Reading https://pypi.python.org/simple/tensorboard/ No local packages or working download links found for tensorboard error: Could not find suitable distribution for Requirement.parse('tensorboard')
    解决办法
    2.1 pip install tensorboard
    2.2 python setup.py build develop
  3. 安装时,出现以下错误
    /home/abc/detectron2/detectron2/layers/csrc/ROIAlign/ROIAlign_cuda.cu -o build/temp.linux-x86_64-3.6/home/abc/detectron2/detectron2/layers/csrc/ROIAlign/ROIAlign_cuda.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options '-fPIC' -DCUDA_HAS_FP16=1 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_75,code=sm_75 -std=c++11 nvcc fatal : Unsupported gpu architecture 'compute_75' error: command '/usr/local/cuda/bin/nvcc' failed with exit status 1
    问题解决:由于nvcc版本不支持而引起的问题,可先运行python -m detectron2.utils.collect_env,查看本机cuda、cudnn版本信息,根据版本信息,确认是否支持安装detectron2
    比如我之前电脑nvcc不支持computer_75,只支持到computer_70(detectron2只支持pytorch1.3,而pytorch1.3只支持cuda>=9.2,电脑RTX2080ti驱动装的是cuda9.0)
  4. 训练网络时,出现错误
    ValueError:Type mismatch() with values (() vs. voc_2007_trainval) for config key: DATASETS.TRAIN
    问题原因:
    上述问题大致意思为:读入的str类型不匹配需要的tuple类型,相对应的值为()与’voc_2007_trainval’
    此问题抛出,是因为在代码读取config文件中的信息,信息提供格式不正确而导致的,可以去查看config文件内容的格式是否存在问题。(例如.yaml类型文,有严格的格式控制)

你可能感兴趣的:(软件框架,神经网络,detecron)