detectron2训练自己的数据实现目标检测和关键点检测——修改配置文件和代码开始训练
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的代码注释掉
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