PP-YOLOE_plus_SOD-L.yaml 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. # Runtime
  2. use_gpu: true
  3. use_xpu: false
  4. use_mlu: false
  5. use_npu: false
  6. save_dir: output
  7. print_flops: false
  8. print_params: false
  9. log_iter: 100
  10. snapshot_epoch: 10
  11. use_ema: true
  12. # Dataset
  13. metric: COCO
  14. num_classes: 10
  15. TrainDataset:
  16. name: COCODataSet
  17. image_dir: VisDrone2019-DET-train
  18. anno_path: train.json
  19. dataset_dir: dataset/visdrone
  20. data_fields: ['image', 'gt_bbox', 'gt_class', 'is_crowd']
  21. EvalDataset:
  22. name: COCODataSet
  23. image_dir: VisDrone2019-DET-val
  24. anno_path: val.json
  25. dataset_dir: dataset/visdrone
  26. TestDataset:
  27. name: ImageFolder
  28. anno_path: val.json
  29. dataset_dir: dataset/visdrone
  30. #reader
  31. worker_num: 4
  32. eval_height: &eval_height 640
  33. eval_width: &eval_width 640
  34. eval_size: &eval_size [*eval_height, *eval_width]
  35. TrainReader:
  36. sample_transforms:
  37. - Decode: {}
  38. - RandomDistort: {}
  39. - RandomExpand: {fill_value: [123.675, 116.28, 103.53]}
  40. - RandomCrop: {}
  41. - RandomFlip: {}
  42. batch_transforms:
  43. - BatchRandomResize: {target_size: [320, 352, 384, 416, 448, 480, 512, 544, 576, 608, 640, 672, 704, 736, 768], random_size: True, random_interp: True, keep_ratio: False}
  44. - NormalizeImage: {mean: [0., 0., 0.], std: [1., 1., 1.], norm_type: none}
  45. - Permute: {}
  46. - PadGT: {}
  47. batch_size: 8
  48. shuffle: true
  49. drop_last: true
  50. use_shared_memory: true
  51. collate_batch: true
  52. EvalReader:
  53. sample_transforms:
  54. - Decode: {}
  55. - Resize: {target_size: *eval_size, keep_ratio: False, interp: 2}
  56. - NormalizeImage: {mean: [0., 0., 0.], std: [1., 1., 1.], norm_type: none}
  57. - Permute: {}
  58. batch_size: 1
  59. TestReader:
  60. inputs_def:
  61. image_shape: [3, *eval_height, *eval_width]
  62. sample_transforms:
  63. - Decode: {}
  64. - Resize: {target_size: *eval_size, keep_ratio: False, interp: 2}
  65. - NormalizeImage: {mean: [0., 0., 0.], std: [1., 1., 1.], norm_type: none}
  66. - Permute: {}
  67. batch_size: 1
  68. fuse_normalize: True
  69. # Model
  70. pretrain_weights: https://bj.bcebos.com/v1/paddledet/models/ppyoloe_plus_crn_l_80e_coco.pdparams
  71. depth_mult: 1.0
  72. width_mult: 1.0
  73. architecture: YOLOv3
  74. norm_type: sync_bn
  75. use_ema: true
  76. ema_decay: 0.9998
  77. ema_black_list: ['proj_conv.weight']
  78. custom_black_list: ['reduce_mean']
  79. find_unused_parameters: True
  80. YOLOv3:
  81. backbone: CSPResNet
  82. neck: CustomCSPPAN
  83. yolo_head: PPYOLOEHead
  84. post_process: ~
  85. CSPResNet:
  86. layers: [3, 6, 6, 3]
  87. channels: [64, 128, 256, 512, 1024]
  88. return_idx: [1, 2, 3]
  89. use_large_stem: True
  90. use_alpha: True
  91. CustomCSPPAN:
  92. out_channels: [768, 384, 192]
  93. stage_num: 1
  94. block_num: 3
  95. act: 'swish'
  96. spp: true
  97. num_layers: 4
  98. use_trans: True
  99. PPYOLOEHead:
  100. reg_range: [-2,8]
  101. fpn_strides: [32, 16, 8]
  102. grid_cell_scale: 5.0
  103. grid_cell_offset: 0.5
  104. static_assigner_epoch: -1
  105. use_varifocal_loss: True
  106. loss_weight: {class: 1.0, iou: 2.5, dfl: 0.5}
  107. static_assigner:
  108. name: ATSSAssigner
  109. topk: 9
  110. assigner:
  111. name: TaskAlignedAssigner_CR
  112. center_radius: 1
  113. topk: 13
  114. alpha: 1.0
  115. beta: 6.0
  116. nms:
  117. name: MultiClassNMS
  118. nms_top_k: 10000
  119. keep_top_k: 500
  120. score_threshold: 0.01
  121. nms_threshold: 0.6
  122. # Optimizer
  123. epoch: 80
  124. LearningRate:
  125. base_lr: 0.01
  126. schedulers:
  127. - !CosineDecay
  128. max_epochs: 96
  129. - !LinearWarmup
  130. start_factor: 0.
  131. epochs: 1
  132. OptimizerBuilder:
  133. optimizer:
  134. momentum: 0.9
  135. type: Momentum
  136. regularizer:
  137. factor: 0.0005
  138. type: L2
  139. # Exporting the model
  140. export:
  141. post_process: True # Whether post-processing is included in the network when export model.
  142. nms: True # Whether NMS is included in the network when export model.
  143. benchmark: False # It is used to testing model performance, if set `True`, post-process and NMS will not be exported.
  144. fuse_conv_bn: False