el_PP-OCRv5_mobile_rec.yaml 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. Global:
  2. model_name: el_PP-OCRv5_mobile_rec # To use static model for inference.
  3. debug: false
  4. use_gpu: true
  5. epoch_num: 75
  6. log_smooth_window: 20
  7. print_batch_step: 10
  8. save_model_dir: ./output/el_rec_ppocr_v5
  9. save_epoch_step: 10
  10. eval_batch_step: [0, 1000]
  11. cal_metric_during_train: true
  12. pretrained_model:
  13. checkpoints:
  14. save_inference_dir:
  15. use_visualdl: false
  16. infer_img:
  17. character_dict_path: ./ppocr/utils/dict/ppocrv5_el_dict.txt
  18. max_text_length: &max_text_length 25
  19. infer_mode: false
  20. use_space_char: true
  21. distributed: true
  22. save_res_path: ./output/rec/predicts_el_ppocrv5.txt
  23. d2s_train_image_shape: [3, 48, 320]
  24. Optimizer:
  25. name: Adam
  26. beta1: 0.9
  27. beta2: 0.999
  28. lr:
  29. name: Cosine
  30. learning_rate: 0.0005
  31. warmup_epoch: 5
  32. regularizer:
  33. name: L2
  34. factor: 3.0e-05
  35. Architecture:
  36. model_type: rec
  37. algorithm: SVTR_LCNet
  38. Transform:
  39. Backbone:
  40. name: PPLCNetV3
  41. scale: 0.95
  42. Head:
  43. name: MultiHead
  44. head_list:
  45. - CTCHead:
  46. Neck:
  47. name: svtr
  48. dims: 120
  49. depth: 2
  50. hidden_dims: 120
  51. kernel_size: [1, 3]
  52. use_guide: True
  53. Head:
  54. fc_decay: 0.00001
  55. - NRTRHead:
  56. nrtr_dim: 384
  57. max_text_length: *max_text_length
  58. Loss:
  59. name: MultiLoss
  60. loss_config_list:
  61. - CTCLoss:
  62. - NRTRLoss:
  63. PostProcess:
  64. name: CTCLabelDecode
  65. Metric:
  66. name: RecMetric
  67. main_indicator: acc
  68. ignore_space: False
  69. Train:
  70. dataset:
  71. name: MultiScaleDataSet
  72. ds_width: false
  73. data_dir: ./train_data/
  74. ext_op_transform_idx: 1
  75. label_file_list:
  76. - ./train_data/train_list.txt
  77. transforms:
  78. - DecodeImage:
  79. img_mode: BGR
  80. channel_first: false
  81. - RecConAug:
  82. prob: 0.5
  83. ext_data_num: 2
  84. image_shape: [48, 320, 3]
  85. max_text_length: *max_text_length
  86. - RecAug:
  87. - MultiLabelEncode:
  88. gtc_encode: NRTRLabelEncode
  89. - KeepKeys:
  90. keep_keys:
  91. - image
  92. - label_ctc
  93. - label_gtc
  94. - length
  95. - valid_ratio
  96. sampler:
  97. name: MultiScaleSampler
  98. scales: [[320, 32], [320, 48], [320, 64]]
  99. first_bs: &bs 128
  100. fix_bs: false
  101. divided_factor: [8, 16] # w, h
  102. is_training: True
  103. loader:
  104. shuffle: true
  105. batch_size_per_card: *bs
  106. drop_last: true
  107. num_workers: 8
  108. Eval:
  109. dataset:
  110. name: SimpleDataSet
  111. data_dir: ./train_data/
  112. label_file_list:
  113. - ./train_data/val_list.txt
  114. transforms:
  115. - DecodeImage:
  116. img_mode: BGR
  117. channel_first: false
  118. - MultiLabelEncode:
  119. gtc_encode: NRTRLabelEncode
  120. - RecResizeImg:
  121. image_shape: [3, 48, 320]
  122. - KeepKeys:
  123. keep_keys:
  124. - image
  125. - label_ctc
  126. - label_gtc
  127. - length
  128. - valid_ratio
  129. loader:
  130. shuffle: true
  131. drop_last: false
  132. batch_size_per_card: 128
  133. num_workers: 4