ResNet50_ML.yaml 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. # global configs
  2. Global:
  3. checkpoints: null
  4. pretrained_model: null
  5. output_dir: ./output/
  6. device: gpu
  7. save_interval: 10
  8. eval_during_train: True
  9. eval_interval: 1
  10. epochs: 40
  11. print_batch_step: 10
  12. use_visualdl: False
  13. # used for static mode and model export
  14. image_shape: [3, 448, 448]
  15. save_inference_dir: ./inference
  16. # training model under @to_static
  17. to_static: False
  18. use_multilabel: True
  19. # mixed precision
  20. AMP:
  21. use_amp: True
  22. use_fp16_test: False
  23. scale_loss: 128.0
  24. use_dynamic_loss_scaling: True
  25. use_promote: False
  26. # O1: mixed fp16, O2: pure fp16
  27. level: O1
  28. # model ema
  29. EMA:
  30. decay: 0.9997
  31. # model architecture
  32. Arch:
  33. name: ResNet50
  34. class_num: 80
  35. pretrained: True
  36. use_ml_decoder: True
  37. # ml-decoder head
  38. MLDecoder:
  39. query_num: 80 # default: 80, query_num <= class_num
  40. in_channels: 2048
  41. # loss function config for training/eval process
  42. Loss:
  43. Train:
  44. - MultiLabelAsymmetricLoss:
  45. weight: 1.0
  46. gamma_pos: 0
  47. gamma_neg: 4
  48. clip: 0.05
  49. disable_focal_loss_grad: True
  50. Eval:
  51. - MultiLabelAsymmetricLoss:
  52. weight: 1.0
  53. gamma_pos: 0
  54. gamma_neg: 4
  55. clip: 0.05
  56. disable_focal_loss_grad: True
  57. Optimizer:
  58. name: AdamW
  59. beta1: 0.9
  60. beta2: 0.999
  61. epsilon: 1e-8
  62. weight_decay: 1e-4
  63. one_dim_param_no_weight_decay: True
  64. lr:
  65. name: Cosine
  66. learning_rate: 1e-4
  67. eta_min: 1e-10
  68. warmup_epoch: 5
  69. warmup_start_lr: 1e-6
  70. # data loader for train and eval
  71. DataLoader:
  72. Train:
  73. dataset:
  74. name: MultiLabelDataset
  75. image_root: dataset/coco_ml/images
  76. cls_label_path: dataset/coco_ml/train.txt
  77. transform_ops:
  78. - DecodeImage:
  79. to_rgb: True
  80. channel_first: False
  81. - ResizeImage:
  82. size: 448
  83. interpolation: bilinear
  84. backend: pil
  85. - Cutout:
  86. length: 224
  87. fill_value: none
  88. - RandAugmentV4:
  89. - NormalizeImage:
  90. scale: 1.0/255.0
  91. mean: [0.485, 0.456, 0.406]
  92. std: [0.229, 0.224, 0.225]
  93. order: ''
  94. sampler:
  95. name: DistributedBatchSampler
  96. batch_size: 64
  97. drop_last: False
  98. shuffle: True
  99. loader:
  100. num_workers: 8
  101. use_shared_memory: True
  102. Eval:
  103. dataset:
  104. name: MultiLabelDataset
  105. image_root: dataset/coco_ml/images
  106. cls_label_path: dataset/coco_ml/val.txt
  107. transform_ops:
  108. - DecodeImage:
  109. to_rgb: True
  110. channel_first: False
  111. - ResizeImage:
  112. size: 448
  113. interpolation: bilinear
  114. backend: pil
  115. - NormalizeImage:
  116. scale: 1.0/255.0
  117. mean: [0.485, 0.456, 0.406]
  118. std: [0.229, 0.224, 0.225]
  119. order: ''
  120. sampler:
  121. name: DistributedBatchSampler
  122. batch_size: 16
  123. drop_last: False
  124. shuffle: False
  125. loader:
  126. num_workers: 8
  127. use_shared_memory: True
  128. Infer:
  129. infer_imgs: deploy/images/coco_000000570688.jpg
  130. batch_size: 10
  131. transforms:
  132. - DecodeImage:
  133. to_rgb: True
  134. channel_first: False
  135. - ResizeImage:
  136. size: 448
  137. interpolation: bilinear
  138. backend: pil
  139. - NormalizeImage:
  140. scale: 1.0/255.0
  141. mean: [0.485, 0.456, 0.406]
  142. std: [0.229, 0.224, 0.225]
  143. order: ''
  144. - ToCHWImage:
  145. PostProcess:
  146. name: MultiLabelThreshOutput
  147. threshold: 0.5
  148. class_id_map_file: ppcls/utils/COCO2017_label_list.txt
  149. Metric:
  150. Train:
  151. Eval:
  152. - MultiLabelMAP:
  153. # support list: integral, 11point
  154. # default: integral
  155. map_type: integral