Detectron2的使用指南

Detectron2是Facebook开源的深度学习的目标检测(Object Detection)框架,支持深度学习中常见的目标检测、实例分割、姿态估计等任务。

  • GitHub:https://github.com/facebookresearch/detectron2

安装Detectron2

参考

支持从源码构建再安装或者直接从pip安装,推荐直接从pip安装,比较便捷,限制较少。

  • 注意:如果从源码安装,需要GCC支持5.0+,部分服务器可能不支持。

pip支持的CUDA+torch版本,如下:
Detectron2的使用指南_第1张图片
检查服务器的CUDA版本:nvidia-smi,当前版本是10.2,如下:
Detectron2的使用指南_第2张图片
检查服务器的torch版本:pip3 show torch,当前版本是1.7.0,如下:
Detectron2的使用指南_第3张图片
检查服务器的Python版本:python3 -version,当前版本是3.7.5rc1,如下:
python
因此,选择CUDA 10.2 + torch 1.7版本,推荐按照命令如下:

python -m pip install detectron2 -f \
  https://dl.fbaipublicfiles.com/detectron2/wheels/cu102/torch1.7/index.html

建议直接到index.html页面,下载相应的包文件:
Detectron2的使用指南_第4张图片
下载whl文件:

wget https://dl.fbaipublicfiles.com/detectron2/wheels/cu102/torch1.7/detectron2-0.5+cu102-cp37-cp37m-linux_x86_64.whl

安装whl文件:

pip3 install --user detectron2-0.5+cu102-cp37-cp37m-linux_x86_64.whl

测试工程

以实例分割算法-PointRend为例,使用的数据集是COCO。由于COCO数据集较大,我们选择Tiny-COCO,仅包含16张图像的微型数据集。

准备数据集:

在PointRend目录下,构建datasets/coco/,annotations中是标注文件,train2017中是样本图像,即:

  • annotations/instances_train2017.json
  • train2017/…

执行:

python3 train_net.py --config-file configs/InstanceSegmentation/pointrend_rcnn_R_50_FPN_1x_coco.yaml --num-gpus 1

即可训练

训练日志

关于模型存储,存储位置由OUTPUT_DIR参数控制,存储间隔由SOLVER.CHECKPOINT_PERIOD控制

  • OUTPUT_DIR: ./output
  • CHECKPOINT_PERIOD: 5000

pointrend_rcnn_R_50_FPN_1x_coco.yaml文件中,修改参数即可,如:

SOLVER:
  CHECKPOINT_PERIOD: 2

参考:

  • Does the model save automatically during training, if no where to add that?

你可能感兴趣的:(深度学习,pytorch,深度学习,detectron2)