sabl-retinanet_r101_fpn_1x_coco.py 1.7 KB

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