Detectron2 入门 | 二

雨燕双飞 提交于 2020-08-15 04:20:41

作者|facebookresearch 编译|Flin 来源|Github

Detectron2入门

本文档简要介绍了detectron2中内置命令行工具的用法。

有关涉及使用API​​进行实际编码的教程,请参阅我们的Colab Notebook(https://colab.research.google.com/drive/16jcaJoc6bCFAQ96jDe2HwtXj7BMD_-m5) ,其中涵盖了如何对现有模型进行推断,以及如何在自定义数据集上训练内置模型。

有关更高级的教程,请参阅我们的文档(https://detectron2.readthedocs.io/tutorials/extend.html)。

预训练模型的推理演示

从模型Zoo(https://github.com/facebookresearch/detectron2/blob/master/MODEL_ZOO.md) 中选择一个模型及其配置文件 ,例如mask_rcnn_R_50_FPN_3x.yaml。 我们提供demo.py能够运行内置标准模型的工具。使用以下命令运行它:

python demo/demo.py --config-file configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml \
  --input input1.jpg input2.jpg \
  [--other-options]
  --opts MODEL.WEIGHTS detectron2://COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x/137849600/model_final_f10217.pkl

这些配置是为了进行训练而设计的,因此我们需要指定MODEL.WEIGHTS来自model zoo的模型进行评估。此命令将运行推断并在OpenCV窗口中显示可视化效果。

有关命令行参数的详细信息,请参阅demo.py -h或查看其源代码以了解其行为。一些常见的参数是:

  • 要在你的网络摄像头上运行,请把--input files 替换为--webcam
  • 要播放视频,请把--input files替换为--video-input video.mp4
  • 要在cpu上运行,请在 -opts之后添加MODEL.DEVICE cpu-
  • 要将输出保存到目录(用于图像)或文件(用于网络摄像头或视频),请使用--output

命令行中的训练与评估

我们在"tools/{,plain_} train_net.py"中提供了一个脚本,用于训练detectron2中提供的所有配置。你可能希望将其用作编写新研究的训练脚本的参考。

要使用"train_net.py"训练模型,请首先在datasets/README.md(https://github.com/facebookresearch/detectron2/blob/master/datasets/README.md) 之后设置相应的数据集,然后运行:

python tools/train_net.py --num-gpus 8 \
    --config-file configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_1x.yaml

这些配置是为8-GPU训练而设计的。要在1个GPU上进行训练,请使用以下命令更改批量大小:

python tools/train_net.py \
    --config-file configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_1x.yaml \
    SOLVER.IMS_PER_BATCH 2 SOLVER.BASE_LR 0.0025

对于大多数型号,不支持CPU训练。

请注意, 更改批次大小时,我们应用了线性学习率缩放规则(https://arxiv.org/abs/1706.02677) 。

要评估模型的性能,请使用

python tools/train_net.py \
    --config-file configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_1x.yaml \
    --eval-only MODEL.WEIGHTS /path/to/checkpoint_file

有关更多选项,请参见python tools/train_net.py -h

在你的代码中使用Detectron2的API

请参阅我们的Colab Notebook (https://colab.research.google.com/drive/16jcaJoc6bCFAQ96jDe2HwtXj7BMD_-m5) , 以了解如何使用detectron2 API来:

  1. 对现有模型进行推断
  2. 在自定义数据集上训练内置模型

有关在detectron2 上构建项目的更多方法,请参见detectron2/projects(https://github.com/facebookresearch/detectron2/tree/master/projects) 。

原文链接:https://detectron2.readthedocs.io/tutorials/getting_started.html

欢迎关注磐创AI博客站: http://panchuang.net/

sklearn机器学习中文官方文档: http://sklearn123.com/

欢迎关注磐创博客资源汇总站: http://docs.panchuang.net/

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!