PP-FormulaNet-S.yaml 2.8 KB

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