ResNet50_face.yaml 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  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: 25
  11. print_batch_step: 20
  12. use_visualdl: False
  13. eval_mode: face_recognition
  14. retrieval_feature_from: backbone
  15. flip_test: True
  16. feature_normalize: False
  17. re_ranking: False
  18. use_dali: False
  19. # used for static mode and model export
  20. image_shape: [3, 112, 112]
  21. save_inference_dir: ./inference
  22. AMP:
  23. use_amp: True
  24. use_fp16_test: False
  25. scale_loss: 27648
  26. use_dynamic_loss_scaling: True
  27. use_promote: False
  28. # O1: mixed fp16
  29. level: O1
  30. # model architecture
  31. Arch:
  32. name: RecModel
  33. infer_output_key: features
  34. infer_add_softmax: False
  35. Backbone:
  36. name: ResNet50
  37. max_pool: False
  38. stride_list: [1, 2, 2, 2, 2]
  39. class_num: 512
  40. Head:
  41. name: ArcMargin
  42. embedding_size: 512
  43. class_num: 995
  44. margin: 0.5
  45. scale: 64
  46. # loss function config for traing/eval process
  47. Loss:
  48. Train:
  49. - CELoss:
  50. weight: 1.0
  51. Optimizer:
  52. name: AdamW
  53. beta1: 0.9
  54. beta2: 0.999
  55. epsilon: 1e-8
  56. weight_decay: 0.05
  57. one_dim_param_no_weight_decay: True
  58. lr:
  59. # for 8 cards
  60. name: Cosine
  61. learning_rate: 4e-3 # lr 4e-3 for total_batch_size 1024
  62. eta_min: 1e-6
  63. warmup_epoch: 1
  64. warmup_start_lr: 0
  65. # data loader for train and eval
  66. DataLoader:
  67. Train:
  68. dataset:
  69. name: ImageNetDataset
  70. image_root: dataset/MS1M_v3/
  71. cls_label_path: dataset/MS1M_v3/label.txt
  72. transform_ops:
  73. - DecodeImage:
  74. to_rgb: True
  75. channel_first: False
  76. backend: cv2
  77. - RandFlipImage:
  78. flip_code: 1
  79. - ResizeImage:
  80. size: [112, 112]
  81. return_numpy: False
  82. interpolation: bilinear
  83. backend: cv2
  84. - NormalizeImage:
  85. scale: 1.0/255.0
  86. mean: [0.5, 0.5, 0.5]
  87. std: [0.5, 0.5, 0.5]
  88. order: hwc
  89. sampler:
  90. name: DistributedBatchSampler
  91. batch_size: 128
  92. drop_last: False
  93. shuffle: True
  94. loader:
  95. num_workers: 8
  96. use_shared_memory: True
  97. Eval:
  98. dataset:
  99. name: FaceEvalDataset
  100. transform_ops:
  101. - DecodeImage:
  102. to_rgb: True
  103. channel_first: False
  104. backend: cv2
  105. - ResizeImage:
  106. size: [112, 112]
  107. return_numpy: False
  108. interpolation: bilinear
  109. backend: cv2
  110. - NormalizeImage:
  111. scale: 1.0/255.0
  112. mean: [0.5, 0.5, 0.5]
  113. std: [0.5, 0.5, 0.5]
  114. order: hwc
  115. sampler:
  116. name: DistributedBatchSampler
  117. batch_size: 32
  118. drop_last: False
  119. shuffle: False
  120. loader:
  121. num_workers: 4
  122. use_shared_memory: True
  123. Metric:
  124. Eval:
  125. - FaceAccuracy: {}