PP-FormulaNet_plus-S.yaml 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. Global:
  2. model_name: PP-FormulaNet_plus-S # To use static model for inference.
  3. use_gpu: True
  4. epoch_num: 20
  5. log_smooth_window: 10
  6. print_batch_step: 10
  7. save_model_dir: ./output/rec/pp_formulanet_plus_s/
  8. save_epoch_step: 2
  9. # evaluation is run every 179 iterations (1 epoch)(batch_size = 56) # max_seq_len: 1024
  10. eval_batch_step: [0, 179]
  11. cal_metric_during_train: True
  12. pretrained_model:
  13. checkpoints:
  14. save_inference_dir:
  15. use_visualdl: False
  16. infer_img: doc/datasets/pme_demo/0000013.png
  17. infer_mode: False
  18. use_space_char: False
  19. rec_char_dict_path: &rec_char_dict_path ppocr/utils/dict/unimernet_tokenizer
  20. max_new_tokens: &max_new_tokens 1024
  21. input_size: &input_size [384, 384]
  22. save_res_path: ./output/rec/predicts_pp_formulanet_plus_s.txt
  23. allow_resize_largeImg: False
  24. start_ema: True
  25. d2s_train_image_shape: [1,384,384]
  26. Optimizer:
  27. name: AdamW
  28. beta1: 0.9
  29. beta2: 0.999
  30. weight_decay: 0.05
  31. lr:
  32. name: LinearWarmupCosine
  33. learning_rate: 0.0001
  34. Architecture:
  35. model_type: rec
  36. algorithm: PP-FormulaNet_plus-S
  37. in_channels: 3
  38. Transform:
  39. Backbone:
  40. name: PPHGNetV2_B4_Formula
  41. class_num: 1024
  42. Head:
  43. name: PPFormulaNet_Head
  44. max_new_tokens: *max_new_tokens
  45. decoder_start_token_id: 0
  46. decoder_ffn_dim: 1536
  47. decoder_hidden_size: 384
  48. decoder_layers: 2
  49. temperature: 0.2
  50. do_sample: False
  51. top_p: 0.95
  52. encoder_hidden_size: 2048
  53. is_export: False
  54. length_aware: True
  55. use_parallel: True,
  56. parallel_step: 3
  57. Loss:
  58. name: PPFormulaNet_S_Loss
  59. parallel_step: 3
  60. PostProcess:
  61. name: UniMERNetDecode
  62. rec_char_dict_path: *rec_char_dict_path
  63. Metric:
  64. name: LaTeXOCRMetric
  65. main_indicator: exp_rate
  66. cal_bleu_score: True
  67. Train:
  68. dataset:
  69. name: SimpleDataSet
  70. data_dir: ./ocr_rec_latexocr_dataset_example
  71. label_file_list: ["./ocr_rec_latexocr_dataset_example/train.txt"]
  72. transforms:
  73. - UniMERNetImgDecode:
  74. input_size: *input_size
  75. random_padding: True
  76. random_resize: True
  77. random_crop: True
  78. - UniMERNetTrainTransform:
  79. - LatexImageFormat:
  80. - UniMERNetLabelEncode:
  81. rec_char_dict_path: *rec_char_dict_path
  82. max_seq_len: *max_new_tokens
  83. - KeepKeys:
  84. keep_keys: ['image', 'label', 'attention_mask']
  85. loader:
  86. shuffle: False
  87. drop_last: False
  88. batch_size_per_card: 14
  89. num_workers: 0
  90. collate_fn: UniMERNetCollator
  91. Eval:
  92. dataset:
  93. name: SimpleDataSet
  94. data_dir: ./ocr_rec_latexocr_dataset_example
  95. label_file_list: ["./ocr_rec_latexocr_dataset_example/val.txt"]
  96. transforms:
  97. - UniMERNetImgDecode:
  98. input_size: *input_size
  99. - UniMERNetTestTransform:
  100. - LatexImageFormat:
  101. - UniMERNetLabelEncode:
  102. max_seq_len: *max_new_tokens
  103. rec_char_dict_path: *rec_char_dict_path
  104. - KeepKeys:
  105. keep_keys: ['image', 'label', 'attention_mask', 'filename']
  106. loader:
  107. shuffle: False
  108. drop_last: False
  109. batch_size_per_card: 30
  110. num_workers: 0
  111. collate_fn: UniMERNetCollator