PP-FormulaNet-S.yaml 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  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_pp_formulanet_s.txt
  22. allow_resize_largeImg: False
  23. start_ema: True
  24. d2s_train_image_shape: [1,384,384]
  25. Optimizer:
  26. name: AdamW
  27. beta1: 0.9
  28. beta2: 0.999
  29. weight_decay: 0.05
  30. lr:
  31. name: LinearWarmupCosine
  32. learning_rate: 0.0001
  33. Architecture:
  34. model_type: rec
  35. algorithm: PP-FormulaNet-S
  36. in_channels: 3
  37. Transform:
  38. Backbone:
  39. name: PPHGNetV2_B4_Formula
  40. class_num: 1024
  41. Head:
  42. name: PPFormulaNet_Head
  43. max_new_tokens: *max_new_tokens
  44. decoder_start_token_id: 0
  45. decoder_ffn_dim: 1536
  46. decoder_hidden_size: 384
  47. decoder_layers: 2
  48. temperature: 0.2
  49. do_sample: False
  50. top_p: 0.95
  51. encoder_hidden_size: 2048
  52. is_export: False
  53. length_aware: True
  54. use_parallel: True,
  55. parallel_step: 3
  56. Loss:
  57. name: PPFormulaNet_S_Loss
  58. parallel_step: 3
  59. PostProcess:
  60. name: UniMERNetDecode
  61. rec_char_dict_path: *rec_char_dict_path
  62. Metric:
  63. name: LaTeXOCRMetric
  64. main_indicator: exp_rate
  65. cal_bleu_score: True
  66. Train:
  67. dataset:
  68. name: SimpleDataSet
  69. data_dir: ./ocr_rec_latexocr_dataset_example
  70. label_file_list: ["./ocr_rec_latexocr_dataset_example/train.txt"]
  71. transforms:
  72. - UniMERNetImgDecode:
  73. input_size: *input_size
  74. - UniMERNetTrainTransform:
  75. - LatexImageFormat:
  76. - UniMERNetLabelEncode:
  77. rec_char_dict_path: *rec_char_dict_path
  78. max_seq_len: *max_new_tokens
  79. - KeepKeys:
  80. keep_keys: ['image', 'label', 'attention_mask']
  81. loader:
  82. shuffle: False
  83. drop_last: False
  84. batch_size_per_card: 14
  85. num_workers: 0
  86. collate_fn: UniMERNetCollator
  87. Eval:
  88. dataset:
  89. name: SimpleDataSet
  90. data_dir: ./ocr_rec_latexocr_dataset_example
  91. label_file_list: ["./ocr_rec_latexocr_dataset_example/val.txt"]
  92. transforms:
  93. - UniMERNetImgDecode:
  94. input_size: *input_size
  95. - UniMERNetTestTransform:
  96. - LatexImageFormat:
  97. - UniMERNetLabelEncode:
  98. max_seq_len: *max_new_tokens
  99. rec_char_dict_path: *rec_char_dict_path
  100. - KeepKeys:
  101. keep_keys: ['image', 'label', 'attention_mask', 'filename']
  102. loader:
  103. shuffle: False
  104. drop_last: False
  105. batch_size_per_card: 30
  106. num_workers: 0
  107. collate_fn: UniMERNetCollator