svtrv2_sar.yml 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. Global:
  2. device: gpu
  3. epoch_num: 20
  4. log_smooth_window: 20
  5. print_batch_step: 10
  6. output_dir: ./output/rec/u14m_filter/svtrv2_sar
  7. eval_epoch_step: [0, 1]
  8. eval_batch_step: [0, 500]
  9. cal_metric_during_train: True
  10. pretrained_model:
  11. checkpoints:
  12. use_tensorboard: false
  13. infer_img:
  14. # for data or label process
  15. character_dict_path: ./tools/utils/EN_symbol_dict.txt
  16. max_text_length: 25
  17. use_space_char: False
  18. save_res_path: ./output/rec/u14m_filter/predicts_svtrv2_sar.txt
  19. use_amp: True
  20. Optimizer:
  21. name: AdamW
  22. lr: 0.000325 # for 4gpus bs128/gpu
  23. weight_decay: 0.05
  24. filter_bias_and_bn: True
  25. LRScheduler:
  26. name: OneCycleLR
  27. warmup_epoch: 1.5 # pct_start 0.075*20 = 1.5ep
  28. cycle_momentum: False
  29. Architecture:
  30. model_type: rec
  31. algorithm: SAR
  32. Transform:
  33. Encoder:
  34. name: SVTRv2LNConvTwo33
  35. use_pos_embed: False
  36. dims: [128, 256, 384]
  37. depths: [6, 6, 6]
  38. num_heads: [4, 8, 12]
  39. mixer: [['Conv','Conv','Conv','Conv','Conv','Conv'],['Conv','Conv','FGlobal','Global','Global','Global'],['Global','Global','Global','Global','Global','Global']]
  40. local_k: [[5, 5], [5, 5], [-1, -1]]
  41. sub_k: [[1, 1], [2, 1], [-1, -1]]
  42. last_stage: false
  43. feat2d: True
  44. Decoder:
  45. name: SARDecoder
  46. mask: false
  47. use_lstm: false
  48. Loss:
  49. name: ARLoss
  50. PostProcess:
  51. name: ARLabelDecode
  52. Metric:
  53. name: RecMetric
  54. main_indicator: acc
  55. is_filter: True
  56. Train:
  57. dataset:
  58. name: RatioDataSetTVResize
  59. ds_width: True
  60. padding: false
  61. data_dir_list: ['../Union14M-L-LMDB-Filtered/filter_train_challenging',
  62. '../Union14M-L-LMDB-Filtered/filter_train_hard',
  63. '../Union14M-L-LMDB-Filtered/filter_train_medium',
  64. '../Union14M-L-LMDB-Filtered/filter_train_normal',
  65. '../Union14M-L-LMDB-Filtered/filter_train_easy',
  66. ]
  67. transforms:
  68. - DecodeImagePIL: # load image
  69. img_mode: RGB
  70. - PARSeqAugPIL:
  71. - ARLabelEncode: # Class handling label
  72. - KeepKeys:
  73. keep_keys: ['image', 'label', 'length'] # dataloader will return list in this order
  74. sampler:
  75. name: RatioSampler
  76. scales: [[128, 32]] # w, h
  77. # divide_factor: to ensure the width and height dimensions can be devided by downsampling multiple
  78. first_bs: &bs 128
  79. fix_bs: false
  80. divided_factor: [4, 16] # w, h
  81. is_training: True
  82. loader:
  83. shuffle: True
  84. batch_size_per_card: *bs
  85. drop_last: True
  86. max_ratio: &max_ratio 4
  87. num_workers: 4
  88. Eval:
  89. dataset:
  90. name: RatioDataSetTVResize
  91. ds_width: True
  92. padding: False
  93. data_dir_list: [
  94. '../evaluation/CUTE80',
  95. '../evaluation/IC13_857',
  96. '../evaluation/IC15_1811',
  97. '../evaluation/IIIT5k',
  98. '../evaluation/SVT',
  99. '../evaluation/SVTP',
  100. ]
  101. transforms:
  102. - DecodeImagePIL: # load image
  103. img_mode: RGB
  104. - ARLabelEncode: # Class handling label
  105. - KeepKeys:
  106. keep_keys: ['image', 'label', 'length'] # dataloader will return list in this order
  107. sampler:
  108. name: RatioSampler
  109. scales: [[128, 32]] # w, h
  110. # divide_factor: to ensure the width and height dimensions can be devided by downsampling multiple
  111. first_bs: *bs
  112. fix_bs: false
  113. divided_factor: [4, 16] # w, h
  114. is_training: False
  115. loader:
  116. shuffle: False
  117. drop_last: False
  118. batch_size_per_card: *bs
  119. max_ratio: *max_ratio
  120. num_workers: 4