detectron2训练自己的数据实现目标检测和关键点检测(三) 修改配置文件和代码开始训练

detectron2训练自己的数据实现目标检测和关键点检测——修改配置文件和代码开始训练

1. 配置

基本配置版本号
CPUIntel® Core™ i5-8400 CPU @ 2.80GHz × 6
GPUGeForce RTX 2070 SUPER/PCIe/SSE2
OSUbuntu18.04
python3.6.9
gcc5.5
g++5.5
cuda10.0
pytorch1.5

2. 修改配置文件

2.1 修改yaml文件

修改configs/COCO-Keypoints下的keypoint_rcnn_R_50_FPN_3x.yaml文件

_BASE_: "Base-Keypoint-RCNN-FPN.yaml"
MODEL:
  KEYPOINT_ON: True
  MASK_ON: False
  ROI_KEYPOINT_HEAD:
    NUM_KEYPOINTS: 2
  WEIGHTS: "/home/ying/usb/key_points/detectron2/demo/models/model_final_f10217.pkl"
  RESNETS:
    DEPTH: 50
  ROI_HEADS:
    SCORE_THRESH_TEST: 0.5
SOLVER:
  STEPS: (160000, 200000)
  MAX_ITER: 220000
  IMS_PER_BATCH: 4
  BASE_LR: 0.0025

配置文件只需要修改COCO-Keypoints下的keypoint_rcnn_R_50_FPN_3x.yaml, 不需要修改detectron2/config/defaults.py

2.2 注释mask的代码

在detectron2/data/datasets/coco.py的378-381的代码注释掉
在这里插入图片描述

2.3 代码修改

代码修改了很多细节. 主要修改了detectron2/checkpoint, detectron2/data/datasets, detectron2/evaluation.
细节很多, 就不一一列举代码了

在evaluation中加了my_evaluator.py, 需要在train_net.py当中import,
并且 修改73-75行代码为

if evaluator_type in ["coco", "coco_panoptic_seg"]:
   evaluator_list.append(my_evaluator(dataset_name, cfg, True, output_folder))

3. 训练

运行tools中的代码

python train_net.py --config-file ../configs/COCO-Keypoints/keypoint_rcnn_R_50_FPN_3x.yaml

生成的模型和log会放在tools/output中

4. 预测

预测代码自行下载
https://download.csdn.net/download/weixin_43056275/13693590
结果:
在这里插入图片描述

参考:
https://github.com/facebookresearch/detectron2/blob/master/INSTALL.md
https://www.cnblogs.com/jiajiewu/p/12822267.html
https://blog.csdn.net/linghu8812/article/details/105701408
https://www.aiuai.cn/aifarm1288.html

  • 6
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论
detectron2是Facebook AI Research开发的一款先进的目标检测框架。要训练自己的数据集,我们需要遵循一些步骤。 首先,我们需要准备自己的数据集。数据集应包含图像和对应的标注,标注通常是边界框和类别。可以使用各种标注工具来创建这些标注。确保将数据集分为训练集和验证集。 接下来,我们需要将数据集转换为detectron2框架可用的数据格式。这可以通过创建一个自定义的数据集类来实现。在类中,我们需要定义数据集的路径、图像的预处理、加载标注等函数。可以使用detectron2提供的API来进行这些操作。 然后,我们需要定义模型的配置文件配置文件包含了模型的架构、学习率、优化器等训练相关的参数。可以在detectron2的官方文档中找到示例配置文件,并根据自己的需求进行修改。 接下来,我们可以使用训练器类来训练我们的模型。训练器类内部封装了训练模型的过程,我们只需要提供数据集、模型配置以及训练相关的参数即可。在训练过程中,我们可以设置一些回调函数来实时监控模型的训练情况。 最后,我们可以使用训练好的模型进行目标检测。可以使用detectron2提供的API来加载模型和图像,并获取目标检测结果。我们可以将结果可视化并进行进一步的分析和处理。 总之,使用detectron2训练自己的数据集需要准备数据集、创建数据集类、定义模型配置训练模型,并最后进行目标检测。通过这些步骤,我们可以充分利用detectron2的功能和性能来训练检测自己的数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王二小、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值