一,默认配置

二,数据集配置


三,继承配置
_base_ = '../faster_rcnn/faster-rcnn_r50_fpn_1x_coco.py'# default_runtime
load_from = './checkpoints/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth'
work_dir = './work_dirs/my_faster_rcnn_r50_drink'
# training schedule for 1x
train_cfg = dict(max_epochs=12, val_begin=6, val_interval=1)
# model settings
model = dict(roi_head=dict(bbox_head=dict(num_classes=3)))
# dataset settings
data_root = 'data/drink/'train_dataloader = dict(batch_size=2,num_workers=2,dataset=dict(data_root=data_root,ann_file='annotations/annotations_all.json',data_prefix=dict(img='images/'),filter_cfg=dict(filter_empty_gt=True, min_size=32)))
val_dataloader = dict(batch_size=1,num_workers=2,dataset=dict(data_root=data_root,ann_file='annotations/annotations_all.json',data_prefix=dict(img='images/')))
test_dataloader = val_dataloaderval_evaluator = dict(ann_file=data_root + 'annotations/annotations_all.json')
test_evaluator = val_evaluator
_base_ = '../ssd/ssdlite_mobilenetv2-scratch_8xb24-600e_coco.py'# default_runtime
load_from = './checkpoints/ssdlite_mobilenetv2_scratch_600e_coco_20210629_110627-974d9307.pth'
work_dir = './work_dirs/my_ssdlite_mobilenetv2_drink'
# training schedule for 1x
max_epochs = 30 # 设置最大训练轮数为120
train_cfg = dict(max_epochs=max_epochs, val_begin=10, val_interval=1)
# model settings
model = dict(bbox_head=dict(num_classes=10))
# dataset settings
data_root = 'data/drink/'# dataset settings
train_dataloader = dict(batch_size=24,num_workers=4,dataset=dict(times=5,dataset=dict(data_root=data_root,ann_file='annotations/annotations_all.json',data_prefix=dict(img='images/'),filter_cfg=dict(filter_empty_gt=True, min_size=32))))
val_dataloader = dict(batch_size=8)
test_dataloader = val_dataloaderval_evaluator = dict(ann_file=data_root + 'annotations/annotations_all.json')
test_evaluator = val_evaluator# learning rate
param_scheduler = [dict(type='LinearLR', start_factor=0.001, by_epoch=False, begin=0, end=500),dict(type='CosineAnnealingLR',begin=0,T_max=max_epochs,end=max_epochs,by_epoch=True,eta_min=0)
]auto_scale_lr = dict(base_batch_size=24)
_base_ = '../yolo/yolov3_mobilenetv2_8xb24-ms-416-300e_coco.py'# default_runtime
load_from = './checkpoints/yolov3_mobilenetv2_mstrain-416_300e_coco_20210718_010823-f68a07b3.pth'
work_dir = './work_dirs/my_yolov3_mobilenetv2_drink'
# training schedule for 1x
train_cfg = dict(max_epochs=30, val_begin=10, val_interval=1)
# model settings
model = dict(bbox_head=dict(num_classes=10))
# dataset settings
data_root = './data/drink/'train_dataloader = dict(batch_size=24,num_workers=4,dataset=dict(dataset=dict(data_root=data_root,ann_file='annotations/annotations_all.json',data_prefix=dict(img='images/'),filter_cfg=dict(filter_empty_gt=True, min_size=32))))
val_dataloader = dict(batch_size=24,num_workers=4,dataset=dict(data_root=data_root,ann_file='annotations/annotations_all.json',data_prefix=dict(img='images/')))
test_dataloader = val_dataloaderval_evaluator = dict(ann_file=data_root + 'annotations/annotations_all.json')
test_evaluator = val_evaluatorauto_scale_lr = dict(base_batch_size=24)
_base_ = '../yolox/yolox_tiny_8xb8-300e_coco.py'# default_runtime
load_from = './checkpoints/yolox_tiny_8x8_300e_coco_20211124_171234-b4047906.pth'
work_dir = './work_dirs/my_yolox_tiny_drink' # model settings
model = dict(bbox_head=dict(num_classes=10))
# dataset settings
data_root = 'data/drink/'train_dataset = dict(dataset=dict(data_root=data_root,ann_file='annotations/annotations_all.json',data_prefix=dict(img='images/'),filter_cfg=dict(filter_empty_gt=False, min_size=32)))
train_dataloader = dict(batch_size=8,num_workers=4,dataset=train_dataset)
val_dataloader = dict(batch_size=8,num_workers=4,dataset=dict(data_root=data_root,ann_file='annotations/annotations_all.json',data_prefix=dict(img='images/')))
test_dataloader = val_dataloaderval_evaluator = dict(ann_file=data_root + 'annotations/annotations_all.json')
test_evaluator = val_evaluator# training settings
max_epochs = 30 # 设置最大训练轮数为300
num_last_epochs = 15 # 设置最后15个epoch进行特殊处理
interval = 10 # 设置每10个epoch进行验证
train_cfg = dict(max_epochs=max_epochs, val_interval=interval)# optimizer
base_lr = 0.01
# learning rate
param_scheduler = [dict(# use quadratic formula to warm up 5 epochs# and lr is updated by iteration# TODO: fix default scope in get functiontype='mmdet.QuadraticWarmupLR',by_epoch=True,begin=0,end=5,convert_to_iter_based=True),dict(# use cosine lr from 5 to 285 epochtype='CosineAnnealingLR',eta_min=base_lr * 0.05,begin=5,T_max=max_epochs - num_last_epochs,end=max_epochs - num_last_epochs,by_epoch=True,convert_to_iter_based=True),dict(# use fixed lr during last 15 epochstype='ConstantLR',by_epoch=True,factor=1,begin=max_epochs - num_last_epochs,end=max_epochs,)
]default_hooks = dict(checkpoint=dict(interval=interval, max_keep_ckpts=3))
custom_hooks = [dict(num_last_epochs=num_last_epochs)]
auto_scale_lr = dict(base_batch_size=8)
