1. 磐创AI首页
  2. 系列教程
  3. Detectron2

Detectron2 入门 | 二

本文是全系列中第12 / 15篇:Detectron2

作者|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

原创文章,作者:磐石,如若转载,请注明出处:https://panchuang.net/2020/05/31/detectron2-%e5%85%a5%e9%97%a8-%e4%ba%8c/

发表评论

登录后才能评论

评论列表(1条)

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息