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

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

  • 1. 配置
  • 2. 修改配置文件
    • 2.1 修改yaml文件
    • 2.2 注释mask的代码
    • 2.3 代码修改
  • 3. 训练
  • 4. 预测

1. 配置

基本配置 版本号
CPU Intel® Core™ i5-8400 CPU @ 2.80GHz × 6
GPU GeForce RTX 2070 SUPER/PCIe/SSE2
OS Ubuntu18.04
python 3.6.9
gcc 5.5
g++ 5.5
cuda 10.0
pytorch 1.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的代码注释掉
detectron2训练自己的数据实现目标检测和关键点检测(三) 修改配置文件和代码开始训练_第1张图片

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/12573545
结果:
detectron2训练自己的数据实现目标检测和关键点检测(三) 修改配置文件和代码开始训练_第2张图片

参考:
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

你可能感兴趣的:(detectron2,#关键点检测,#目标检测)