sabl-retinanet_r101-gn_fpn_1x_coco.py 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. _base_ = [
  2. '../_base_/models/retinanet_r50_fpn.py',
  3. '../_base_/datasets/coco_detection.py',
  4. '../_base_/schedules/schedule_1x.py', '../_base_/default_runtime.py'
  5. ]
  6. # model settings
  7. norm_cfg = dict(type='GN', num_groups=32, requires_grad=True)
  8. model = dict(
  9. backbone=dict(
  10. depth=101,
  11. init_cfg=dict(type='Pretrained',
  12. checkpoint='torchvision://resnet101')),
  13. bbox_head=dict(
  14. _delete_=True,
  15. type='SABLRetinaHead',
  16. num_classes=80,
  17. in_channels=256,
  18. stacked_convs=4,
  19. feat_channels=256,
  20. approx_anchor_generator=dict(
  21. type='AnchorGenerator',
  22. octave_base_scale=4,
  23. scales_per_octave=3,
  24. ratios=[0.5, 1.0, 2.0],
  25. strides=[8, 16, 32, 64, 128]),
  26. square_anchor_generator=dict(
  27. type='AnchorGenerator',
  28. ratios=[1.0],
  29. scales=[4],
  30. strides=[8, 16, 32, 64, 128]),
  31. norm_cfg=norm_cfg,
  32. bbox_coder=dict(
  33. type='BucketingBBoxCoder', num_buckets=14, scale_factor=3.0),
  34. loss_cls=dict(
  35. type='FocalLoss',
  36. use_sigmoid=True,
  37. gamma=2.0,
  38. alpha=0.25,
  39. loss_weight=1.0),
  40. loss_bbox_cls=dict(
  41. type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.5),
  42. loss_bbox_reg=dict(
  43. type='SmoothL1Loss', beta=1.0 / 9.0, loss_weight=1.5)),
  44. # training and testing settings
  45. train_cfg=dict(
  46. assigner=dict(
  47. type='ApproxMaxIoUAssigner',
  48. pos_iou_thr=0.5,
  49. neg_iou_thr=0.4,
  50. min_pos_iou=0.0,
  51. ignore_iof_thr=-1),
  52. allowed_border=-1,
  53. pos_weight=-1,
  54. debug=False))
  55. # optimizer
  56. optim_wrapper = dict(
  57. optimizer=dict(type='SGD', lr=0.01, momentum=0.9, weight_decay=0.0001))