1. mmdetection installation: https://mp.csdn.net/console/editor/html/107685152
2. Dataset preparation
Using VOC2007
3. Start training
python tools/train.py configs/libra_rcnn/libra_faster_rcnn_r50_fpn_1x_coco.py --gpus 1
Some details:
1. Using VOC dataset
libra_faster_rcnn_r50_fpn_1x_coco.py --> faster_rcnn_r50_fpn_1x_coco.py --> faster_rcnn_r50_fpn.py
_base_ = [
'../_base_/models/faster_rcnn_r50_fpn.py',
'../_base_/datasets/voc0712.py',
'../_base_/schedules/schedule_1x.py', '../_base_/default_runtime.py'
]
2. modify the training data classes and class number
(1) In mmdetection/mmdet/datasets/voc.py
class VOCDataset(XMLDataset):
# CLASSES = ('aeroplane', 'bicycle', 'bird', 'boat', 'bottle', 'bus', 'car',
# 'cat', 'chair', 'cow', 'diningtable', 'dog', 'horse',
# 'motorbike', 'person', 'pottedplant', 'sheep', 'sofa', 'train',
# 'tvmonitor')
CLASSES = ('mandatory', 'warning', 'prohibitory', 'guideboard_s', 'guideboard_l',)
(2) In mmdetection/mmdet/core/evaluation/class_names.py
def voc_classes():
return [
'mandatory', 'warning', 'prohibitory', 'guideboard_s', 'guideboard_l',
]
(3) In faster_rcnn_r50_fpn.py
search num_classes, num_classes=train classes
e.g: num_classes =5
3. notes
from file mmdetection/mmdet/datasets/builder.py:
batch_size = samples_per_gpu OR batch_size = num_gpus * samples_per_gpu
4. Some parameters
(1) image scale
seach img_scale in your dataset settings file(e.g /mmdetection/configs/_base_/datasets/voc0712.py)
(2) image foramt settings in dataset/xml_style.py
default value: jpg
(3) anchors
https://www.pianshen.com/article/12431012717/
ERRORS:
(1) RuntimeError: CUDA error: an illegal memory access was encountered
refer to: https://blog.csdn.net/baidu_36639782/article/details/89405743
Before training starts:
torch.backends.cudnn.benchmark = True
torch.cuda.set_device(0)
(2) nan
check the learning rate
工具使用:
https://blog.csdn.net/Skies_/article/details/106974243l
https://github.com/open-mmlab/mmdetection/blob/master/docs/getting_started.md
Analyze logs
python tools/analyze_logs.py plot_curve log.json --keys loss_cls --legend loss_cls
save loss curve
python ../../tools/analyze_logs.py plot_curve ./20200810_184101.log.json --keys loss_cls loss_bbox --out losses.pdf