sabl-retinanet_r50_fpn_1x_coco.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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. model = dict(
  8. bbox_head=dict(
  9. _delete_=True,
  10. type='SABLRetinaHead',
  11. num_classes=80,
  12. in_channels=256,
  13. stacked_convs=4,
  14. feat_channels=256,
  15. approx_anchor_generator=dict(
  16. type='AnchorGenerator',
  17. octave_base_scale=4,
  18. scales_per_octave=3,
  19. ratios=[0.5, 1.0, 2.0],
  20. strides=[8, 16, 32, 64, 128]),
  21. square_anchor_generator=dict(
  22. type='AnchorGenerator',
  23. ratios=[1.0],
  24. scales=[4],
  25. strides=[8, 16, 32, 64, 128]),
  26. bbox_coder=dict(
  27. type='BucketingBBoxCoder', num_buckets=14, scale_factor=3.0),
  28. loss_cls=dict(
  29. type='FocalLoss',
  30. use_sigmoid=True,
  31. gamma=2.0,
  32. alpha=0.25,
  33. loss_weight=1.0),
  34. loss_bbox_cls=dict(
  35. type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.5),
  36. loss_bbox_reg=dict(
  37. type='SmoothL1Loss', beta=1.0 / 9.0, loss_weight=1.5)),
  38. # training and testing settings
  39. train_cfg=dict(
  40. assigner=dict(
  41. type='ApproxMaxIoUAssigner',
  42. pos_iou_thr=0.5,
  43. neg_iou_thr=0.4,
  44. min_pos_iou=0.0,
  45. ignore_iof_thr=-1),
  46. allowed_border=-1,
  47. pos_weight=-1,
  48. debug=False))
  49. # optimizer
  50. optim_wrapper = dict(
  51. optimizer=dict(type='SGD', lr=0.01, momentum=0.9, weight_decay=0.0001))