Spaces:
Build error
Build error
model = dict( | |
type='PSGTr', | |
backbone=dict(type='ResNet', | |
depth=50, | |
num_stages=4, | |
out_indices=(0, 1, 2, 3), | |
frozen_stages=1, | |
norm_cfg=dict(type='BN', requires_grad=False), | |
norm_eval=True, | |
style='pytorch', | |
init_cfg=dict(type='Pretrained', | |
checkpoint='torchvision://resnet50')), | |
bbox_head=dict( | |
type='PSGFormerHead', | |
num_classes=80, | |
num_relations=117, | |
in_channels=2048, | |
transformer=dict( | |
type='DualTransformer', | |
encoder=dict(type='DetrTransformerEncoder', | |
num_layers=6, | |
transformerlayers=dict( | |
type='BaseTransformerLayer', | |
attn_cfgs=[ | |
dict(type='MultiheadAttention', | |
embed_dims=256, | |
num_heads=8, | |
dropout=0.1) | |
], | |
feedforward_channels=2048, | |
ffn_dropout=0.1, | |
operation_order=('self_attn', 'norm', 'ffn', | |
'norm'))), | |
decoder1=dict(type='DetrTransformerDecoder', | |
return_intermediate=True, | |
num_layers=6, | |
transformerlayers=dict( | |
type='DetrTransformerDecoderLayer', | |
attn_cfgs=dict(type='MultiheadAttention', | |
embed_dims=256, | |
num_heads=8, | |
dropout=0.1), | |
feedforward_channels=2048, | |
ffn_dropout=0.1, | |
operation_order=('self_attn', 'norm', | |
'cross_attn', 'norm', 'ffn', | |
'norm'))), | |
decoder2=dict(type='DetrTransformerDecoder', | |
return_intermediate=True, | |
num_layers=6, | |
transformerlayers=dict( | |
type='DetrTransformerDecoderLayer', | |
attn_cfgs=dict(type='MultiheadAttention', | |
embed_dims=256, | |
num_heads=8, | |
dropout=0.1), | |
feedforward_channels=2048, | |
ffn_dropout=0.1, | |
operation_order=('self_attn', 'norm', | |
'cross_attn', 'norm', 'ffn', | |
'norm'))), | |
), | |
positional_encoding=dict(type='SinePositionalEncoding', | |
num_feats=128, | |
normalize=True), | |
rel_loss_cls=dict(type='CrossEntropyLoss', | |
use_sigmoid=False, | |
loss_weight=2.0, | |
class_weight=1.0), | |
sub_id_loss=dict(type='MultilabelCrossEntropy', loss_weight=2.0), | |
obj_id_loss=dict(type='MultilabelCrossEntropy', loss_weight=2.0), | |
loss_cls=dict(type='CrossEntropyLoss', | |
use_sigmoid=False, | |
loss_weight=4.0, | |
class_weight=1.0), | |
loss_bbox=dict(type='L1Loss', loss_weight=3.0), | |
loss_iou=dict(type='GIoULoss', loss_weight=2.0), | |
focal_loss=dict(type='BCEFocalLoss', loss_weight=1.0), | |
dice_loss=dict(type='psgtrDiceLoss', loss_weight=1.0)), | |
# training and testing settings | |
train_cfg=dict(id_assigner=dict(type='IdMatcher', | |
sub_id_cost=dict(type='ClassificationCost', | |
weight=1.), | |
obj_id_cost=dict(type='ClassificationCost', | |
weight=1.), | |
r_cls_cost=dict(type='ClassificationCost', | |
weight=1.)), | |
bbox_assigner=dict(type='HungarianAssigner', | |
cls_cost=dict(type='ClassificationCost', | |
weight=4.0), | |
reg_cost=dict(type='BBoxL1Cost', | |
weight=3.0), | |
iou_cost=dict(type='IoUCost', | |
iou_mode='giou', | |
weight=2.0))), | |
test_cfg=dict(max_per_img=100)) | |