fcos_r50-caffe_fpn_gn-head_1x_coco.py 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. _base_ = [
  2. '../_base_/datasets/coco_detection.py',
  3. '../_base_/schedules/schedule_1x.py', '../_base_/default_runtime.py'
  4. ]
  5. # model settings
  6. model = dict(
  7. type='FCOS',
  8. data_preprocessor=dict(
  9. type='DetDataPreprocessor',
  10. mean=[102.9801, 115.9465, 122.7717],
  11. std=[1.0, 1.0, 1.0],
  12. bgr_to_rgb=False,
  13. pad_size_divisor=32),
  14. backbone=dict(
  15. type='ResNet',
  16. depth=50,
  17. num_stages=4,
  18. out_indices=(0, 1, 2, 3),
  19. frozen_stages=1,
  20. norm_cfg=dict(type='BN', requires_grad=False),
  21. norm_eval=True,
  22. style='caffe',
  23. init_cfg=dict(
  24. type='Pretrained',
  25. checkpoint='open-mmlab://detectron/resnet50_caffe')),
  26. neck=dict(
  27. type='FPN',
  28. in_channels=[256, 512, 1024, 2048],
  29. out_channels=256,
  30. start_level=1,
  31. add_extra_convs='on_output', # use P5
  32. num_outs=5,
  33. relu_before_extra_convs=True),
  34. bbox_head=dict(
  35. type='FCOSHead',
  36. num_classes=80,
  37. in_channels=256,
  38. stacked_convs=4,
  39. feat_channels=256,
  40. strides=[8, 16, 32, 64, 128],
  41. loss_cls=dict(
  42. type='FocalLoss',
  43. use_sigmoid=True,
  44. gamma=2.0,
  45. alpha=0.25,
  46. loss_weight=1.0),
  47. loss_bbox=dict(type='IoULoss', loss_weight=1.0),
  48. loss_centerness=dict(
  49. type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0)),
  50. # testing settings
  51. test_cfg=dict(
  52. nms_pre=1000,
  53. min_bbox_size=0,
  54. score_thr=0.05,
  55. nms=dict(type='nms', iou_threshold=0.5),
  56. max_per_img=100))
  57. # learning rate
  58. param_scheduler = [
  59. dict(type='ConstantLR', factor=1.0 / 3, by_epoch=False, begin=0, end=500),
  60. dict(
  61. type='MultiStepLR',
  62. begin=0,
  63. end=12,
  64. by_epoch=True,
  65. milestones=[8, 11],
  66. gamma=0.1)
  67. ]
  68. # optimizer
  69. optim_wrapper = dict(
  70. optimizer=dict(lr=0.01),
  71. paramwise_cfg=dict(bias_lr_mult=2., bias_decay_mult=0.),
  72. clip_grad=dict(max_norm=35, norm_type=2))