eslav_PP-OCRv5_mobile_rec.yaml 2.8 KB

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