| _base_ = ['../detr/detr_r50_8xb2-150e_coco.py'] | |
| model = dict( | |
| type='ConditionalDETR', | |
| num_queries=300, | |
| decoder=dict( | |
| num_layers=6, | |
| layer_cfg=dict( | |
| self_attn_cfg=dict( | |
| _delete_=True, | |
| embed_dims=256, | |
| num_heads=8, | |
| attn_drop=0.1, | |
| cross_attn=False), | |
| cross_attn_cfg=dict( | |
| _delete_=True, | |
| embed_dims=256, | |
| num_heads=8, | |
| attn_drop=0.1, | |
| cross_attn=True))), | |
| bbox_head=dict( | |
| type='ConditionalDETRHead', | |
| loss_cls=dict( | |
| _delete_=True, | |
| type='FocalLoss', | |
| use_sigmoid=True, | |
| gamma=2.0, | |
| alpha=0.25, | |
| loss_weight=2.0)), | |
| # training and testing settings | |
| train_cfg=dict( | |
| assigner=dict( | |
| type='HungarianAssigner', | |
| match_costs=[ | |
| dict(type='FocalLossCost', weight=2.0), | |
| dict(type='BBoxL1Cost', weight=5.0, box_format='xywh'), | |
| dict(type='IoUCost', iou_mode='giou', weight=2.0) | |
| ]))) | |
| # learning policy | |
| train_cfg = dict(type='EpochBasedTrainLoop', max_epochs=50, val_interval=50) | |
| param_scheduler = [dict(type='MultiStepLR', end=50, milestones=[40])] | |