RepSVTR_mobile_rec.yaml 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. Global:
  2. debug: false
  3. use_gpu: true
  4. epoch_num: 200
  5. log_smooth_window: 20
  6. print_batch_step: 10
  7. save_model_dir: ./output/rec_repsvtr_ch
  8. save_epoch_step: 10
  9. eval_batch_step: [0, 1000]
  10. cal_metric_during_train: False
  11. pretrained_model: https://paddleocr.bj.bcebos.com/pretrained/ch_SVTRv2_rec_mobile_trained.pdparams
  12. checkpoints:
  13. save_inference_dir:
  14. use_visualdl: false
  15. infer_img: doc/imgs_words/ch/word_1.jpg
  16. character_dict_path: ppocr/utils/ppocr_keys_v1.txt
  17. max_text_length: &max_text_length 25
  18. infer_mode: false
  19. use_space_char: true
  20. distributed: true
  21. save_res_path: ./output/rec/predicts_repsvtr.txt
  22. Optimizer:
  23. name: AdamW
  24. beta1: 0.9
  25. beta2: 0.999
  26. epsilon: 1.e-8
  27. weight_decay: 0.025
  28. no_weight_decay_name: norm
  29. one_dim_param_no_weight_decay: True
  30. lr:
  31. name: Cosine
  32. learning_rate: 0.001 # 8gpus 192bs
  33. warmup_epoch: 5
  34. Architecture:
  35. model_type: rec
  36. algorithm: SVTR_HGNet
  37. Transform:
  38. Backbone:
  39. name: RepSVTR
  40. Head:
  41. name: MultiHead
  42. head_list:
  43. - CTCHead:
  44. Neck:
  45. name: svtr
  46. dims: 256
  47. depth: 2
  48. hidden_dims: 256
  49. kernel_size: [1, 3]
  50. use_guide: True
  51. Head:
  52. fc_decay: 0.00001
  53. - NRTRHead:
  54. nrtr_dim: 384
  55. max_text_length: *max_text_length
  56. num_decoder_layers: 2
  57. Loss:
  58. name: MultiLoss
  59. loss_config_list:
  60. - CTCLoss:
  61. - NRTRLoss:
  62. PostProcess:
  63. name: CTCLabelDecode
  64. Metric:
  65. name: RecMetric
  66. main_indicator: acc
  67. Train:
  68. dataset:
  69. name: MultiScaleDataSet
  70. ds_width: false
  71. data_dir: ./train_data/
  72. ext_op_transform_idx: 1
  73. label_file_list:
  74. - ./train_data/train_list.txt
  75. transforms:
  76. - DecodeImage:
  77. img_mode: BGR
  78. channel_first: false
  79. - RecAug:
  80. - MultiLabelEncode:
  81. gtc_encode: NRTRLabelEncode
  82. - KeepKeys:
  83. keep_keys:
  84. - image
  85. - label_ctc
  86. - label_gtc
  87. - length
  88. - valid_ratio
  89. sampler:
  90. name: MultiScaleSampler
  91. scales: [[320, 32], [320, 48], [320, 64]]
  92. first_bs: &bs 192
  93. fix_bs: false
  94. divided_factor: [8, 16] # w, h
  95. is_training: True
  96. loader:
  97. shuffle: true
  98. batch_size_per_card: *bs
  99. drop_last: true
  100. num_workers: 8
  101. Eval:
  102. dataset:
  103. name: SimpleDataSet
  104. data_dir: ./train_data
  105. label_file_list:
  106. - ./train_data/val_list.txt
  107. transforms:
  108. - DecodeImage:
  109. img_mode: BGR
  110. channel_first: false
  111. - MultiLabelEncode:
  112. gtc_encode: NRTRLabelEncode
  113. - RecResizeImg:
  114. image_shape: [3, 48, 320]
  115. - KeepKeys:
  116. keep_keys:
  117. - image
  118. - label_ctc
  119. - label_gtc
  120. - length
  121. - valid_ratio
  122. loader:
  123. shuffle: false
  124. drop_last: false
  125. batch_size_per_card: 128
  126. num_workers: 4