rtdetr_config.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. # Real-time Transformer-based Object Detector
  2. # ------------------- Det task --------------------
  3. rtdetr_cfg = {
  4. 'rtdetr_r18':{
  5. # ---------------- Model config ----------------
  6. ## Model scale
  7. 'width': 1.0,
  8. 'depth': 1.0,
  9. ## Image Encoder - Backbone
  10. 'backbone': 'resnet18',
  11. 'backbone_norm': 'FrozeBN',
  12. 'res5_dilation': False,
  13. 'pretrained': True,
  14. 'pretrained_weight': 'imagenet1k_v1',
  15. 'freeze_stem_only': True,
  16. 'out_stride': [8, 16, 32],
  17. ## Image Encoder - FPN
  18. 'fpn': 'hybrid_encoder',
  19. 'fpn_act': 'silu',
  20. 'fpn_norm': 'BN',
  21. 'fpn_depthwise': False,
  22. 'hidden_dim': 256,
  23. 'en_num_heads': 8,
  24. 'en_num_layers': 1,
  25. 'en_mlp_ratio': 4.0,
  26. 'en_dropout': 0.1,
  27. 'pe_temperature': 10000.,
  28. 'en_act': 'gelu',
  29. # Transformer Decoder
  30. 'transformer': 'rtdetr_transformer',
  31. 'hidden_dim': 256,
  32. 'de_num_heads': 8,
  33. 'de_num_layers': 3,
  34. 'de_mlp_ratio': 4.0,
  35. 'de_dropout': 0.0,
  36. 'de_act': 'relu',
  37. 'de_num_points': 4,
  38. 'num_queries': 300,
  39. 'learnt_init_query': False,
  40. 'pe_temperature': 10000.,
  41. 'dn_num_denoising': 100,
  42. 'dn_label_noise_ratio': 0.5,
  43. 'dn_box_noise_scale': 1,
  44. # Head
  45. 'det_head': 'dino_head',
  46. # ---------------- Assignment config ----------------
  47. 'matcher_hpy': {'cost_class': 2.0,
  48. 'cost_bbox': 5.0,
  49. 'cost_giou': 2.0,},
  50. # ---------------- Loss config ----------------
  51. 'use_vfl': True,
  52. 'loss_coeff': {'class': 1,
  53. 'bbox': 5,
  54. 'giou': 2,},
  55. # ---------------- Train config ----------------
  56. ## input
  57. 'multi_scale': [0.5, 1.25], # 320 -> 800
  58. 'trans_type': 'rtdetr_base',
  59. # ---------------- Train config ----------------
  60. 'trainer_type': 'rtdetr',
  61. },
  62. }