|
- _base_ = './yolox_s_8x8_300e_coco.py'
-
- # model settings
- model = dict(
- backbone=dict(deepen_factor=0.33, widen_factor=0.375),
- neck=dict(in_channels=[96, 192, 384], out_channels=96),
- bbox_head=dict(in_channels=96, feat_channels=96))
-
- # dataset settings
- img_norm_cfg = dict(
- mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375], to_rgb=True)
-
- img_scale = (640, 640)
-
- train_pipeline = [
- dict(type='Mosaic', img_scale=img_scale, pad_val=114.0),
- dict(
- type='RandomAffine',
- scaling_ratio_range=(0.5, 1.5),
- border=(-img_scale[0] // 2, -img_scale[1] // 2)),
- dict(
- type='PhotoMetricDistortion',
- brightness_delta=32,
- contrast_range=(0.5, 1.5),
- saturation_range=(0.5, 1.5),
- hue_delta=18),
- dict(type='RandomFlip', flip_ratio=0.5),
- dict(type='Resize', keep_ratio=True),
- dict(type='Pad', pad_to_square=True, pad_val=114.0),
- dict(type='Normalize', **img_norm_cfg),
- dict(type='DefaultFormatBundle'),
- dict(type='Collect', keys=['img', 'gt_bboxes', 'gt_labels'])
- ]
-
- test_pipeline = [
- dict(type='LoadImageFromFile'),
- dict(
- type='MultiScaleFlipAug',
- img_scale=(416, 416),
- flip=False,
- transforms=[
- dict(type='Resize', keep_ratio=True),
- dict(type='RandomFlip'),
- dict(type='Pad', size=(416, 416), pad_val=114.0),
- dict(type='Normalize', **img_norm_cfg),
- dict(type='DefaultFormatBundle'),
- dict(type='Collect', keys=['img'])
- ])
- ]
-
- train_dataset = dict(pipeline=train_pipeline)
-
- data = dict(
- train=train_dataset,
- val=dict(pipeline=test_pipeline),
- test=dict(pipeline=test_pipeline))
-
- resume_from = None
- interval = 10
-
- # Execute in the order of insertion when the priority is the same.
- # The smaller the value, the higher the priority
- custom_hooks = [
- dict(type='YOLOXModeSwitchHook', num_last_epochs=15, priority=48),
- dict(
- type='SyncRandomSizeHook',
- ratio_range=(10, 20),
- img_scale=img_scale,
- priority=48),
- dict(
- type='SyncNormHook',
- num_last_epochs=15,
- interval=interval,
- priority=48),
- dict(type='ExpMomentumEMAHook', resume_from=resume_from, priority=49)
- ]
- checkpoint_config = dict(interval=interval)
- evaluation = dict(interval=interval, metric='bbox')
|