_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])] | |