作者|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来:
- 对现有模型进行推断
- 在自定义数据集上训练内置模型
有关在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/
来源:oschina
链接:https://my.oschina.net/u/4253699/blog/4274938