|
_base_ = '../_base_/default_runtime.py' |
|
|
|
|
|
dataset_type = 'CocoDataset' |
|
data_root = 'data/coco/' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
backend_args = None |
|
|
|
|
|
backend = 'pillow' |
|
train_pipeline = [ |
|
dict( |
|
type='LoadImageFromFile', |
|
backend_args=backend_args, |
|
imdecode_backend=backend), |
|
dict( |
|
type='LoadAnnotations', |
|
with_bbox=True, |
|
with_mask=True, |
|
poly2mask=False), |
|
dict( |
|
type='RandomChoiceResize', |
|
scales=[(1333, 640), (1333, 672), (1333, 704), (1333, 736), |
|
(1333, 768), (1333, 800)], |
|
keep_ratio=True, |
|
backend=backend), |
|
dict(type='RandomFlip', prob=0.5), |
|
dict(type='PackDetInputs') |
|
] |
|
test_pipeline = [ |
|
dict( |
|
type='LoadImageFromFile', |
|
backend_args=backend_args, |
|
imdecode_backend=backend), |
|
dict(type='Resize', scale=(1333, 800), keep_ratio=True, backend=backend), |
|
dict( |
|
type='LoadAnnotations', |
|
with_bbox=True, |
|
with_mask=True, |
|
poly2mask=False), |
|
dict( |
|
type='PackDetInputs', |
|
meta_keys=('img_id', 'img_path', 'ori_shape', 'img_shape', |
|
'scale_factor')) |
|
] |
|
train_dataloader = dict( |
|
batch_size=2, |
|
num_workers=2, |
|
persistent_workers=True, |
|
pin_memory=True, |
|
sampler=dict(type='InfiniteSampler', shuffle=True), |
|
batch_sampler=dict(type='AspectRatioBatchSampler'), |
|
dataset=dict( |
|
type=dataset_type, |
|
data_root=data_root, |
|
ann_file='annotations/instances_train2017.json', |
|
data_prefix=dict(img='train2017/'), |
|
filter_cfg=dict(filter_empty_gt=True, min_size=32), |
|
pipeline=train_pipeline, |
|
backend_args=backend_args)) |
|
val_dataloader = dict( |
|
batch_size=1, |
|
num_workers=2, |
|
persistent_workers=True, |
|
drop_last=False, |
|
pin_memory=True, |
|
sampler=dict(type='DefaultSampler', shuffle=False), |
|
dataset=dict( |
|
type=dataset_type, |
|
data_root=data_root, |
|
ann_file='annotations/instances_val2017.json', |
|
data_prefix=dict(img='val2017/'), |
|
test_mode=True, |
|
pipeline=test_pipeline, |
|
backend_args=backend_args)) |
|
test_dataloader = val_dataloader |
|
|
|
val_evaluator = dict( |
|
type='CocoMetric', |
|
ann_file=data_root + 'annotations/instances_val2017.json', |
|
metric=['bbox', 'segm'], |
|
format_only=False, |
|
backend_args=backend_args) |
|
test_evaluator = val_evaluator |
|
|
|
|
|
max_iter = 90000 |
|
train_cfg = dict( |
|
type='IterBasedTrainLoop', max_iters=max_iter, val_interval=10000) |
|
val_cfg = dict(type='ValLoop') |
|
test_cfg = dict(type='TestLoop') |
|
|
|
|
|
param_scheduler = [ |
|
dict( |
|
type='LinearLR', start_factor=0.001, by_epoch=False, begin=0, |
|
end=1000), |
|
dict( |
|
type='MultiStepLR', |
|
begin=0, |
|
end=max_iter, |
|
by_epoch=False, |
|
milestones=[60000, 80000], |
|
gamma=0.1) |
|
] |
|
|
|
|
|
optim_wrapper = dict( |
|
type='OptimWrapper', |
|
optimizer=dict(type='SGD', lr=0.02, momentum=0.9, weight_decay=0.0001)) |
|
|
|
|
|
|
|
|
|
auto_scale_lr = dict(enable=False, base_batch_size=16) |
|
|
|
default_hooks = dict(checkpoint=dict(by_epoch=False, interval=10000)) |
|
log_processor = dict(by_epoch=False) |
|
|