pk5ls20 commited on
Commit
6aea98b
·
1 Parent(s): 5658824

Add PaddleOCR2Pytorch Model

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. PaddleOCR2Pytorch/ch_ptocr_mobile_v2.0_cls_infer.pth +3 -0
  2. PaddleOCR2Pytorch/ch_ptocr_mobile_v2.0_det_infer.pth +3 -0
  3. PaddleOCR2Pytorch/ch_ptocr_mobile_v2.0_rec_infer.pth +3 -0
  4. PaddleOCR2Pytorch/ch_ptocr_server_v2.0_det_infer.pth +3 -0
  5. PaddleOCR2Pytorch/ch_ptocr_server_v2.0_rec_infer.pth +3 -0
  6. PaddleOCR2Pytorch/ch_ptocr_v2_det_infer.pth +3 -0
  7. PaddleOCR2Pytorch/ch_ptocr_v2_rec_infer.pth +3 -0
  8. PaddleOCR2Pytorch/ch_ptocr_v3_det_infer.pth +3 -0
  9. PaddleOCR2Pytorch/ch_ptocr_v3_rec_infer.pth +3 -0
  10. PaddleOCR2Pytorch/ch_ptocr_v4_det_infer.pth +3 -0
  11. PaddleOCR2Pytorch/ch_ptocr_v4_det_server_infer.pth +3 -0
  12. PaddleOCR2Pytorch/ch_ptocr_v4_rec_infer.pth +3 -0
  13. PaddleOCR2Pytorch/ch_ptocr_v4_rec_server_infer.pth +3 -0
  14. PaddleOCR2Pytorch/configs/cls/cls_mv3.yml +96 -0
  15. PaddleOCR2Pytorch/configs/det/ch_PP-OCRv3/ch_PP-OCRv3_det.yml +163 -0
  16. PaddleOCR2Pytorch/configs/det/ch_PP-OCRv4/ch_PP-OCRv4_det_cml.yml +235 -0
  17. PaddleOCR2Pytorch/configs/det/ch_PP-OCRv4/ch_PP-OCRv4_det_student.yml +171 -0
  18. PaddleOCR2Pytorch/configs/det/ch_PP-OCRv4/ch_PP-OCRv4_det_teacher.yml +172 -0
  19. PaddleOCR2Pytorch/configs/det/ch_ppocr_v2.0/ch_det_mv3_db_v2.0.yml +134 -0
  20. PaddleOCR2Pytorch/configs/det/ch_ppocr_v2.0/ch_det_res18_db_v2.0.yml +133 -0
  21. PaddleOCR2Pytorch/configs/det/det_mv3_db.yml +133 -0
  22. PaddleOCR2Pytorch/configs/det/det_mv3_east.yml +111 -0
  23. PaddleOCR2Pytorch/configs/det/det_mv3_pse.yml +135 -0
  24. PaddleOCR2Pytorch/configs/det/det_ppocr_v3.yml +163 -0
  25. PaddleOCR2Pytorch/configs/det/det_r50_db++_icdar15.yml +163 -0
  26. PaddleOCR2Pytorch/configs/det/det_r50_db++_td_tr.yml +166 -0
  27. PaddleOCR2Pytorch/configs/det/det_r50_vd_db.yml +130 -0
  28. PaddleOCR2Pytorch/configs/det/det_r50_vd_dcn_fce_ctw.yml +139 -0
  29. PaddleOCR2Pytorch/configs/det/det_r50_vd_east.yml +110 -0
  30. PaddleOCR2Pytorch/configs/det/det_r50_vd_pse.yml +134 -0
  31. PaddleOCR2Pytorch/configs/det/det_r50_vd_sast_icdar15.yml +110 -0
  32. PaddleOCR2Pytorch/configs/det/det_r50_vd_sast_totaltext.yml +110 -0
  33. PaddleOCR2Pytorch/configs/e2e/e2e_r50_vd_pg.yml +114 -0
  34. PaddleOCR2Pytorch/configs/rec/PP-OCRv3/ch_PP-OCRv3_rec.yml +126 -0
  35. PaddleOCR2Pytorch/configs/rec/PP-OCRv3/ch_PP-OCRv3_rec_distillation.yml +205 -0
  36. PaddleOCR2Pytorch/configs/rec/PP-OCRv3/en_PP-OCRv3_rec.yml +126 -0
  37. PaddleOCR2Pytorch/configs/rec/PP-OCRv3/multi_language/.gitkeep +0 -0
  38. PaddleOCR2Pytorch/configs/rec/PP-OCRv3/multi_language/arabic_PP-OCRv3_rec.yml +126 -0
  39. PaddleOCR2Pytorch/configs/rec/PP-OCRv3/multi_language/chinese_cht_PP-OCRv3_rec.yml +126 -0
  40. PaddleOCR2Pytorch/configs/rec/PP-OCRv3/multi_language/cyrillic_PP-OCRv3_rec.yml +126 -0
  41. PaddleOCR2Pytorch/configs/rec/PP-OCRv3/multi_language/devanagari_PP-OCRv3_rec.yml +126 -0
  42. PaddleOCR2Pytorch/configs/rec/PP-OCRv3/multi_language/japan_PP-OCRv3_rec.yml +126 -0
  43. PaddleOCR2Pytorch/configs/rec/PP-OCRv3/multi_language/ka_PP-OCRv3_rec.yml +126 -0
  44. PaddleOCR2Pytorch/configs/rec/PP-OCRv3/multi_language/korean_PP-OCRv3_rec.yml +126 -0
  45. PaddleOCR2Pytorch/configs/rec/PP-OCRv3/multi_language/latin_PP-OCRv3_rec.yml +126 -0
  46. PaddleOCR2Pytorch/configs/rec/PP-OCRv3/multi_language/ta_PP-OCRv3_rec.yml +126 -0
  47. PaddleOCR2Pytorch/configs/rec/PP-OCRv3/multi_language/te_PP-OCRv3_rec.yml +126 -0
  48. PaddleOCR2Pytorch/configs/rec/PP-OCRv4/ch_PP-OCRv4_rec.yml +138 -0
  49. PaddleOCR2Pytorch/configs/rec/PP-OCRv4/ch_PP-OCRv4_rec_ampO2_ultra.yml +140 -0
  50. PaddleOCR2Pytorch/configs/rec/PP-OCRv4/ch_PP-OCRv4_rec_ctc.yml +132 -0
PaddleOCR2Pytorch/ch_ptocr_mobile_v2.0_cls_infer.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bfe13860824b3365c0c7f7ccfcddc8ff11645c60051739ff18bc9913f60c98e1
3
+ size 588638
PaddleOCR2Pytorch/ch_ptocr_mobile_v2.0_det_infer.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e3d3c418418221bb875bec3a1257c7a07d7f8094abeeed8a32a7eff46854e709
3
+ size 2450576
PaddleOCR2Pytorch/ch_ptocr_mobile_v2.0_rec_infer.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bc4dbe1231deef508be154dfd882fa47c8856caae9dee534b6d7fb344c9a4abb
3
+ size 4406992
PaddleOCR2Pytorch/ch_ptocr_server_v2.0_det_infer.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b549b4ad0b49dde4f555869055bc2b974623fe2138faa544dbd8cf6f7c063c50
3
+ size 49537024
PaddleOCR2Pytorch/ch_ptocr_server_v2.0_rec_infer.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0c315fdb59f16d6cf4250440036553d0036d3dc68fcaf7343f5998588cc42e4a
3
+ size 111568653
PaddleOCR2Pytorch/ch_ptocr_v2_det_infer.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:61d39ce0f175e81d54e6d07d5f9f85a4a6d34d77ca8a1ea18855a7a5eadcadb6
3
+ size 2450576
PaddleOCR2Pytorch/ch_ptocr_v2_rec_infer.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:44eebdf924f59a510c38b17e723ff3740550d637b8022e8de41be8ebec71b2b1
3
+ size 8353351
PaddleOCR2Pytorch/ch_ptocr_v3_det_infer.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5e364ffd412f39417db2b4430098cfec7d0f8ed36c859224e3fc036186b91359
3
+ size 2540826
PaddleOCR2Pytorch/ch_ptocr_v3_rec_infer.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8e172d862bc498de7d88aa8ab15ddcd72a29935861ac27b82328cbc84a268b70
3
+ size 10661864
PaddleOCR2Pytorch/ch_ptocr_v4_det_infer.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:89622c3f3e76b3ac7d10d9434c1f117a7471dba44723885cc04b49932a740d5b
3
+ size 14506268
PaddleOCR2Pytorch/ch_ptocr_v4_det_server_infer.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2ccb02359eb1e56c72ba3cc21d166ed32a517863554f19fc6ec1b663fe4a6652
3
+ size 114030092
PaddleOCR2Pytorch/ch_ptocr_v4_rec_infer.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cb4265bb4300a2487e93e82ccfa1924bf9cd1194c1a202ab17a96b4911c27e0b
3
+ size 26919769
PaddleOCR2Pytorch/ch_ptocr_v4_rec_server_infer.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2c0c9f5180ae3e4d8ea9d3830116ac49900abbb2af3985db02c2bbf484bb0bf9
3
+ size 96808553
PaddleOCR2Pytorch/configs/cls/cls_mv3.yml ADDED
@@ -0,0 +1,96 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ use_gpu: true
3
+ epoch_num: 100
4
+ log_smooth_window: 20
5
+ print_batch_step: 10
6
+ save_model_dir: ./output/cls/mv3/
7
+ save_epoch_step: 3
8
+ # evaluation is run every 5000 iterations after the 4000th iteration
9
+ eval_batch_step: [0, 1000]
10
+ # if pretrained_model is saved in static mode, load_static_weights must set to True
11
+ cal_metric_during_train: True
12
+ pretrained_model:
13
+ checkpoints:
14
+ save_inference_dir:
15
+ use_visualdl: False
16
+ infer_img: doc/imgs_words_en/word_10.png
17
+ label_list: ['0','180']
18
+
19
+ Architecture:
20
+ model_type: cls
21
+ algorithm: CLS
22
+ Transform:
23
+ Backbone:
24
+ name: MobileNetV3
25
+ scale: 0.35
26
+ model_name: small
27
+ Neck:
28
+ Head:
29
+ name: ClsHead
30
+ class_dim: 2
31
+
32
+ Loss:
33
+ name: ClsLoss
34
+
35
+ Optimizer:
36
+ name: Adam
37
+ beta1: 0.9
38
+ beta2: 0.999
39
+ lr:
40
+ name: Cosine
41
+ learning_rate: 0.001
42
+ regularizer:
43
+ name: 'L2'
44
+ factor: 0
45
+
46
+ PostProcess:
47
+ name: ClsPostProcess
48
+
49
+ Metric:
50
+ name: ClsMetric
51
+ main_indicator: acc
52
+
53
+ Train:
54
+ dataset:
55
+ name: SimpleDataSet
56
+ data_dir: ./train_data/cls
57
+ label_file_list:
58
+ - ./train_data/cls/train.txt
59
+ transforms:
60
+ - DecodeImage: # load image
61
+ img_mode: BGR
62
+ channel_first: False
63
+ - ClsLabelEncode: # Class handling label
64
+ - RecAug:
65
+ use_tia: False
66
+ - RandAugment:
67
+ - ClsResizeImg:
68
+ image_shape: [3, 48, 192]
69
+ - KeepKeys:
70
+ keep_keys: ['image', 'label'] # dataloader will return list in this order
71
+ loader:
72
+ shuffle: True
73
+ batch_size_per_card: 512
74
+ drop_last: True
75
+ num_workers: 8
76
+
77
+ Eval:
78
+ dataset:
79
+ name: SimpleDataSet
80
+ data_dir: ./train_data/cls
81
+ label_file_list:
82
+ - ./train_data/cls/test.txt
83
+ transforms:
84
+ - DecodeImage: # load image
85
+ img_mode: BGR
86
+ channel_first: False
87
+ - ClsLabelEncode: # Class handling label
88
+ - ClsResizeImg:
89
+ image_shape: [3, 48, 192]
90
+ - KeepKeys:
91
+ keep_keys: ['image', 'label'] # dataloader will return list in this order
92
+ loader:
93
+ shuffle: False
94
+ drop_last: False
95
+ batch_size_per_card: 512
96
+ num_workers: 4
PaddleOCR2Pytorch/configs/det/ch_PP-OCRv3/ch_PP-OCRv3_det.yml ADDED
@@ -0,0 +1,163 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ debug: false
3
+ use_gpu: true
4
+ epoch_num: 500
5
+ log_smooth_window: 20
6
+ print_batch_step: 10
7
+ save_model_dir: ./output/ch_PP-OCR_V3_det/
8
+ save_epoch_step: 100
9
+ eval_batch_step:
10
+ - 0
11
+ - 400
12
+ cal_metric_during_train: false
13
+ pretrained_model: null
14
+ checkpoints: null
15
+ save_inference_dir: null
16
+ use_visualdl: false
17
+ infer_img: doc/imgs_en/img_10.jpg
18
+ save_res_path: ./checkpoints/det_db/predicts_db.txt
19
+ distributed: true
20
+
21
+ Architecture:
22
+ model_type: det
23
+ algorithm: DB
24
+ Transform:
25
+ Backbone:
26
+ name: MobileNetV3
27
+ scale: 0.5
28
+ model_name: large
29
+ disable_se: True
30
+ Neck:
31
+ name: RSEFPN
32
+ out_channels: 96
33
+ shortcut: True
34
+ Head:
35
+ name: DBHead
36
+ k: 50
37
+
38
+ Loss:
39
+ name: DBLoss
40
+ balance_loss: true
41
+ main_loss_type: DiceLoss
42
+ alpha: 5
43
+ beta: 10
44
+ ohem_ratio: 3
45
+ Optimizer:
46
+ name: Adam
47
+ beta1: 0.9
48
+ beta2: 0.999
49
+ lr:
50
+ name: Cosine
51
+ learning_rate: 0.001
52
+ warmup_epoch: 2
53
+ regularizer:
54
+ name: L2
55
+ factor: 5.0e-05
56
+ PostProcess:
57
+ name: DBPostProcess
58
+ thresh: 0.3
59
+ box_thresh: 0.6
60
+ max_candidates: 1000
61
+ unclip_ratio: 1.5
62
+ Metric:
63
+ name: DetMetric
64
+ main_indicator: hmean
65
+ Train:
66
+ dataset:
67
+ name: SimpleDataSet
68
+ data_dir: ./train_data/icdar2015/text_localization/
69
+ label_file_list:
70
+ - ./train_data/icdar2015/text_localization/train_icdar2015_label.txt
71
+ ratio_list: [1.0]
72
+ transforms:
73
+ - DecodeImage:
74
+ img_mode: BGR
75
+ channel_first: false
76
+ - DetLabelEncode: null
77
+ - IaaAugment:
78
+ augmenter_args:
79
+ - type: Fliplr
80
+ args:
81
+ p: 0.5
82
+ - type: Affine
83
+ args:
84
+ rotate:
85
+ - -10
86
+ - 10
87
+ - type: Resize
88
+ args:
89
+ size:
90
+ - 0.5
91
+ - 3
92
+ - EastRandomCropData:
93
+ size:
94
+ - 960
95
+ - 960
96
+ max_tries: 50
97
+ keep_ratio: true
98
+ - MakeBorderMap:
99
+ shrink_ratio: 0.4
100
+ thresh_min: 0.3
101
+ thresh_max: 0.7
102
+ - MakeShrinkMap:
103
+ shrink_ratio: 0.4
104
+ min_text_size: 8
105
+ - NormalizeImage:
106
+ scale: 1./255.
107
+ mean:
108
+ - 0.485
109
+ - 0.456
110
+ - 0.406
111
+ std:
112
+ - 0.229
113
+ - 0.224
114
+ - 0.225
115
+ order: hwc
116
+ - ToCHWImage: null
117
+ - KeepKeys:
118
+ keep_keys:
119
+ - image
120
+ - threshold_map
121
+ - threshold_mask
122
+ - shrink_map
123
+ - shrink_mask
124
+ loader:
125
+ shuffle: true
126
+ drop_last: false
127
+ batch_size_per_card: 8
128
+ num_workers: 4
129
+ Eval:
130
+ dataset:
131
+ name: SimpleDataSet
132
+ data_dir: ./train_data/icdar2015/text_localization/
133
+ label_file_list:
134
+ - ./train_data/icdar2015/text_localization/test_icdar2015_label.txt
135
+ transforms:
136
+ - DecodeImage:
137
+ img_mode: BGR
138
+ channel_first: false
139
+ - DetLabelEncode: null
140
+ - DetResizeForTest: null
141
+ - NormalizeImage:
142
+ scale: 1./255.
143
+ mean:
144
+ - 0.485
145
+ - 0.456
146
+ - 0.406
147
+ std:
148
+ - 0.229
149
+ - 0.224
150
+ - 0.225
151
+ order: hwc
152
+ - ToCHWImage: null
153
+ - KeepKeys:
154
+ keep_keys:
155
+ - image
156
+ - shape
157
+ - polys
158
+ - ignore_tags
159
+ loader:
160
+ shuffle: false
161
+ drop_last: false
162
+ batch_size_per_card: 1
163
+ num_workers: 2
PaddleOCR2Pytorch/configs/det/ch_PP-OCRv4/ch_PP-OCRv4_det_cml.yml ADDED
@@ -0,0 +1,235 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ debug: false
3
+ use_gpu: true
4
+ epoch_num: 500
5
+ log_smooth_window: 20
6
+ print_batch_step: 20
7
+ save_model_dir: ./output/ch_PP-OCRv4
8
+ save_epoch_step: 50
9
+ eval_batch_step:
10
+ - 0
11
+ - 1000
12
+ cal_metric_during_train: true
13
+ checkpoints: null
14
+ pretrained_model: null
15
+ save_inference_dir: null
16
+ use_visualdl: false
17
+ infer_img: doc/imgs_en/img_10.jpg
18
+ save_res_path: ./checkpoints/det_db/predicts_db.txt
19
+ distributed: true
20
+ Architecture:
21
+ name: DistillationModel
22
+ algorithm: Distillation
23
+ model_type: det
24
+ Models:
25
+ Student:
26
+ model_type: det
27
+ algorithm: DB
28
+ Transform: null
29
+ Backbone:
30
+ name: PPLCNetNew
31
+ scale: 0.75
32
+ pretrained: false
33
+ Neck:
34
+ name: RSEFPN
35
+ out_channels: 96
36
+ shortcut: true
37
+ Head:
38
+ name: DBHead
39
+ k: 50
40
+ Student2:
41
+ pretrained: null
42
+ model_type: det
43
+ algorithm: DB
44
+ Transform: null
45
+ Backbone:
46
+ name: PPLCNetNew
47
+ scale: 0.75
48
+ pretrained: true
49
+ Neck:
50
+ name: RSEFPN
51
+ out_channels: 96
52
+ shortcut: true
53
+ Head:
54
+ name: DBHead
55
+ k: 50
56
+ Teacher:
57
+ pretrained: https://paddleocr.bj.bcebos.com/PP-OCRv4/chinese/ch_PP-OCRv4_det_cml_teacher_pretrained/teacher.pdparams
58
+ freeze_params: true
59
+ return_all_feats: false
60
+ model_type: det
61
+ algorithm: DB
62
+ Backbone:
63
+ name: ResNet_vd
64
+ in_channels: 3
65
+ layers: 50
66
+ Neck:
67
+ name: LKPAN
68
+ out_channels: 256
69
+ Head:
70
+ name: DBHead
71
+ kernel_list:
72
+ - 7
73
+ - 2
74
+ - 2
75
+ k: 50
76
+ Loss:
77
+ name: CombinedLoss
78
+ loss_config_list:
79
+ - DistillationDilaDBLoss:
80
+ weight: 1.0
81
+ model_name_pairs:
82
+ - - Student
83
+ - Teacher
84
+ - - Student2
85
+ - Teacher
86
+ key: maps
87
+ balance_loss: true
88
+ main_loss_type: DiceLoss
89
+ alpha: 5
90
+ beta: 10
91
+ ohem_ratio: 3
92
+ - DistillationDMLLoss:
93
+ model_name_pairs:
94
+ - Student
95
+ - Student2
96
+ maps_name: thrink_maps
97
+ weight: 1.0
98
+ key: maps
99
+ - DistillationDBLoss:
100
+ weight: 1.0
101
+ model_name_list:
102
+ - Student
103
+ - Student2
104
+ balance_loss: true
105
+ main_loss_type: DiceLoss
106
+ alpha: 5
107
+ beta: 10
108
+ ohem_ratio: 3
109
+ Optimizer:
110
+ name: Adam
111
+ beta1: 0.9
112
+ beta2: 0.999
113
+ lr:
114
+ name: Cosine
115
+ learning_rate: 0.001
116
+ warmup_epoch: 2
117
+ regularizer:
118
+ name: L2
119
+ factor: 5.0e-05
120
+ PostProcess:
121
+ name: DistillationDBPostProcess
122
+ model_name:
123
+ - Student
124
+ key: head_out
125
+ thresh: 0.3
126
+ box_thresh: 0.6
127
+ max_candidates: 1000
128
+ unclip_ratio: 1.5
129
+ Metric:
130
+ name: DistillationMetric
131
+ base_metric_name: DetMetric
132
+ main_indicator: hmean
133
+ key: Student
134
+ Train:
135
+ dataset:
136
+ name: SimpleDataSet
137
+ data_dir: ./train_data/icdar2015/text_localization/
138
+ label_file_list:
139
+ - ./train_data/icdar2015/text_localization/train_icdar2015_label.txt
140
+ ratio_list: [1.0]
141
+ transforms:
142
+ - DecodeImage:
143
+ img_mode: BGR
144
+ channel_first: false
145
+ - DetLabelEncode: null
146
+ - IaaAugment:
147
+ augmenter_args:
148
+ - type: Fliplr
149
+ args:
150
+ p: 0.5
151
+ - type: Affine
152
+ args:
153
+ rotate:
154
+ - -10
155
+ - 10
156
+ - type: Resize
157
+ args:
158
+ size:
159
+ - 0.5
160
+ - 3
161
+ - EastRandomCropData:
162
+ size:
163
+ - 640
164
+ - 640
165
+ max_tries: 50
166
+ keep_ratio: true
167
+ - MakeBorderMap:
168
+ shrink_ratio: 0.4
169
+ thresh_min: 0.3
170
+ thresh_max: 0.7
171
+ total_epoch: 500
172
+ - MakeShrinkMap:
173
+ shrink_ratio: 0.4
174
+ min_text_size: 8
175
+ total_epoch: 500
176
+ - NormalizeImage:
177
+ scale: 1./255.
178
+ mean:
179
+ - 0.485
180
+ - 0.456
181
+ - 0.406
182
+ std:
183
+ - 0.229
184
+ - 0.224
185
+ - 0.225
186
+ order: hwc
187
+ - ToCHWImage: null
188
+ - KeepKeys:
189
+ keep_keys:
190
+ - image
191
+ - threshold_map
192
+ - threshold_mask
193
+ - shrink_map
194
+ - shrink_mask
195
+ loader:
196
+ shuffle: true
197
+ drop_last: false
198
+ batch_size_per_card: 16
199
+ num_workers: 8
200
+ Eval:
201
+ dataset:
202
+ name: SimpleDataSet
203
+ data_dir: ./train_data/icdar2015/text_localization/
204
+ label_file_list:
205
+ - ./train_data/icdar2015/text_localization/test_icdar2015_label.txt
206
+ transforms:
207
+ - DecodeImage:
208
+ img_mode: BGR
209
+ channel_first: false
210
+ - DetLabelEncode: null
211
+ - DetResizeForTest: null
212
+ - NormalizeImage:
213
+ scale: 1./255.
214
+ mean:
215
+ - 0.485
216
+ - 0.456
217
+ - 0.406
218
+ std:
219
+ - 0.229
220
+ - 0.224
221
+ - 0.225
222
+ order: hwc
223
+ - ToCHWImage: null
224
+ - KeepKeys:
225
+ keep_keys:
226
+ - image
227
+ - shape
228
+ - polys
229
+ - ignore_tags
230
+ loader:
231
+ shuffle: false
232
+ drop_last: false
233
+ batch_size_per_card: 1
234
+ num_workers: 2
235
+ profiler_options: null
PaddleOCR2Pytorch/configs/det/ch_PP-OCRv4/ch_PP-OCRv4_det_student.yml ADDED
@@ -0,0 +1,171 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ debug: false
3
+ use_gpu: true
4
+ epoch_num: &epoch_num 500
5
+ log_smooth_window: 20
6
+ print_batch_step: 100
7
+ save_model_dir: ./output/ch_PP-OCRv4
8
+ save_epoch_step: 10
9
+ eval_batch_step:
10
+ - 0
11
+ - 1500
12
+ cal_metric_during_train: false
13
+ checkpoints:
14
+ pretrained_model: https://paddleocr.bj.bcebos.com/pretrained/PPLCNetV3_x0_75_ocr_det.pdparams
15
+ save_inference_dir: null
16
+ use_visualdl: false
17
+ infer_img: doc/imgs_en/img_10.jpg
18
+ save_res_path: ./checkpoints/det_db/predicts_db.txt
19
+ distributed: true
20
+
21
+ Architecture:
22
+ model_type: det
23
+ algorithm: DB
24
+ Transform: null
25
+ Backbone:
26
+ name: PPLCNetV3
27
+ scale: 0.75
28
+ det: True
29
+ Neck:
30
+ name: RSEFPN
31
+ out_channels: 96
32
+ shortcut: True
33
+ Head:
34
+ name: DBHead
35
+ k: 50
36
+
37
+ Loss:
38
+ name: DBLoss
39
+ balance_loss: true
40
+ main_loss_type: DiceLoss
41
+ alpha: 5
42
+ beta: 10
43
+ ohem_ratio: 3
44
+
45
+ Optimizer:
46
+ name: Adam
47
+ beta1: 0.9
48
+ beta2: 0.999
49
+ lr:
50
+ name: Cosine
51
+ learning_rate: 0.001 #(8*8c)
52
+ warmup_epoch: 2
53
+ regularizer:
54
+ name: L2
55
+ factor: 5.0e-05
56
+
57
+ PostProcess:
58
+ name: DBPostProcess
59
+ thresh: 0.3
60
+ box_thresh: 0.6
61
+ max_candidates: 1000
62
+ unclip_ratio: 1.5
63
+
64
+ Metric:
65
+ name: DetMetric
66
+ main_indicator: hmean
67
+
68
+ Train:
69
+ dataset:
70
+ name: SimpleDataSet
71
+ data_dir: ./train_data/icdar2015/text_localization/
72
+ label_file_list:
73
+ - ./train_data/icdar2015/text_localization/train_icdar2015_label.txt
74
+ ratio_list: [1.0]
75
+ transforms:
76
+ - DecodeImage:
77
+ img_mode: BGR
78
+ channel_first: false
79
+ - DetLabelEncode: null
80
+ - CopyPaste: null
81
+ - IaaAugment:
82
+ augmenter_args:
83
+ - type: Fliplr
84
+ args:
85
+ p: 0.5
86
+ - type: Affine
87
+ args:
88
+ rotate:
89
+ - -10
90
+ - 10
91
+ - type: Resize
92
+ args:
93
+ size:
94
+ - 0.5
95
+ - 3
96
+ - EastRandomCropData:
97
+ size:
98
+ - 640
99
+ - 640
100
+ max_tries: 50
101
+ keep_ratio: true
102
+ - MakeBorderMap:
103
+ shrink_ratio: 0.4
104
+ thresh_min: 0.3
105
+ thresh_max: 0.7
106
+ total_epoch: *epoch_num
107
+ - MakeShrinkMap:
108
+ shrink_ratio: 0.4
109
+ min_text_size: 8
110
+ total_epoch: *epoch_num
111
+ - NormalizeImage:
112
+ scale: 1./255.
113
+ mean:
114
+ - 0.485
115
+ - 0.456
116
+ - 0.406
117
+ std:
118
+ - 0.229
119
+ - 0.224
120
+ - 0.225
121
+ order: hwc
122
+ - ToCHWImage: null
123
+ - KeepKeys:
124
+ keep_keys:
125
+ - image
126
+ - threshold_map
127
+ - threshold_mask
128
+ - shrink_map
129
+ - shrink_mask
130
+ loader:
131
+ shuffle: true
132
+ drop_last: false
133
+ batch_size_per_card: 8
134
+ num_workers: 8
135
+
136
+ Eval:
137
+ dataset:
138
+ name: SimpleDataSet
139
+ data_dir: ./train_data/icdar2015/text_localization/
140
+ label_file_list:
141
+ - ./train_data/icdar2015/text_localization/test_icdar2015_label.txt
142
+ transforms:
143
+ - DecodeImage:
144
+ img_mode: BGR
145
+ channel_first: false
146
+ - DetLabelEncode: null
147
+ - DetResizeForTest:
148
+ - NormalizeImage:
149
+ scale: 1./255.
150
+ mean:
151
+ - 0.485
152
+ - 0.456
153
+ - 0.406
154
+ std:
155
+ - 0.229
156
+ - 0.224
157
+ - 0.225
158
+ order: hwc
159
+ - ToCHWImage: null
160
+ - KeepKeys:
161
+ keep_keys:
162
+ - image
163
+ - shape
164
+ - polys
165
+ - ignore_tags
166
+ loader:
167
+ shuffle: false
168
+ drop_last: false
169
+ batch_size_per_card: 1
170
+ num_workers: 2
171
+ profiler_options: null
PaddleOCR2Pytorch/configs/det/ch_PP-OCRv4/ch_PP-OCRv4_det_teacher.yml ADDED
@@ -0,0 +1,172 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ debug: false
3
+ use_gpu: true
4
+ epoch_num: &epoch_num 500
5
+ log_smooth_window: 20
6
+ print_batch_step: 100
7
+ save_model_dir: ./output/ch_PP-OCRv4
8
+ save_epoch_step: 10
9
+ eval_batch_step:
10
+ - 0
11
+ - 1500
12
+ cal_metric_during_train: false
13
+ checkpoints:
14
+ pretrained_model: https://paddleocr.bj.bcebos.com/pretrained/PPHGNet_small_ocr_det.pdparams
15
+ save_inference_dir: null
16
+ use_visualdl: false
17
+ infer_img: doc/imgs_en/img_10.jpg
18
+ save_res_path: ./checkpoints/det_db/predicts_db.txt
19
+ distributed: true
20
+
21
+ Architecture:
22
+ model_type: det
23
+ algorithm: DB
24
+ Transform: null
25
+ Backbone:
26
+ name: PPHGNet_small
27
+ det: True
28
+ Neck:
29
+ name: LKPAN
30
+ out_channels: 256
31
+ intracl: true
32
+ Head:
33
+ name: PFHeadLocal
34
+ k: 50
35
+ mode: "large"
36
+
37
+
38
+ Loss:
39
+ name: DBLoss
40
+ balance_loss: true
41
+ main_loss_type: DiceLoss
42
+ alpha: 5
43
+ beta: 10
44
+ ohem_ratio: 3
45
+
46
+ Optimizer:
47
+ name: Adam
48
+ beta1: 0.9
49
+ beta2: 0.999
50
+ lr:
51
+ name: Cosine
52
+ learning_rate: 0.001 #(8*8c)
53
+ warmup_epoch: 2
54
+ regularizer:
55
+ name: L2
56
+ factor: 1e-6
57
+
58
+ PostProcess:
59
+ name: DBPostProcess
60
+ thresh: 0.3
61
+ box_thresh: 0.6
62
+ max_candidates: 1000
63
+ unclip_ratio: 1.5
64
+
65
+ Metric:
66
+ name: DetMetric
67
+ main_indicator: hmean
68
+
69
+ Train:
70
+ dataset:
71
+ name: SimpleDataSet
72
+ data_dir: ./train_data/icdar2015/text_localization/
73
+ label_file_list:
74
+ - ./train_data/icdar2015/text_localization/train_icdar2015_label.txt
75
+ ratio_list: [1.0]
76
+ transforms:
77
+ - DecodeImage:
78
+ img_mode: BGR
79
+ channel_first: false
80
+ - DetLabelEncode: null
81
+ - CopyPaste: null
82
+ - IaaAugment:
83
+ augmenter_args:
84
+ - type: Fliplr
85
+ args:
86
+ p: 0.5
87
+ - type: Affine
88
+ args:
89
+ rotate:
90
+ - -10
91
+ - 10
92
+ - type: Resize
93
+ args:
94
+ size:
95
+ - 0.5
96
+ - 3
97
+ - EastRandomCropData:
98
+ size:
99
+ - 640
100
+ - 640
101
+ max_tries: 50
102
+ keep_ratio: true
103
+ - MakeBorderMap:
104
+ shrink_ratio: 0.4
105
+ thresh_min: 0.3
106
+ thresh_max: 0.7
107
+ total_epoch: *epoch_num
108
+ - MakeShrinkMap:
109
+ shrink_ratio: 0.4
110
+ min_text_size: 8
111
+ total_epoch: *epoch_num
112
+ - NormalizeImage:
113
+ scale: 1./255.
114
+ mean:
115
+ - 0.485
116
+ - 0.456
117
+ - 0.406
118
+ std:
119
+ - 0.229
120
+ - 0.224
121
+ - 0.225
122
+ order: hwc
123
+ - ToCHWImage: null
124
+ - KeepKeys:
125
+ keep_keys:
126
+ - image
127
+ - threshold_map
128
+ - threshold_mask
129
+ - shrink_map
130
+ - shrink_mask
131
+ loader:
132
+ shuffle: true
133
+ drop_last: false
134
+ batch_size_per_card: 8
135
+ num_workers: 8
136
+
137
+ Eval:
138
+ dataset:
139
+ name: SimpleDataSet
140
+ data_dir: ./train_data/icdar2015/text_localization/
141
+ label_file_list:
142
+ - ./train_data/icdar2015/text_localization/test_icdar2015_label.txt
143
+ transforms:
144
+ - DecodeImage:
145
+ img_mode: BGR
146
+ channel_first: false
147
+ - DetLabelEncode: null
148
+ - DetResizeForTest:
149
+ - NormalizeImage:
150
+ scale: 1./255.
151
+ mean:
152
+ - 0.485
153
+ - 0.456
154
+ - 0.406
155
+ std:
156
+ - 0.229
157
+ - 0.224
158
+ - 0.225
159
+ order: hwc
160
+ - ToCHWImage: null
161
+ - KeepKeys:
162
+ keep_keys:
163
+ - image
164
+ - shape
165
+ - polys
166
+ - ignore_tags
167
+ loader:
168
+ shuffle: false
169
+ drop_last: false
170
+ batch_size_per_card: 1
171
+ num_workers: 2
172
+ profiler_options: null
PaddleOCR2Pytorch/configs/det/ch_ppocr_v2.0/ch_det_mv3_db_v2.0.yml ADDED
@@ -0,0 +1,134 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ use_gpu: true
3
+ epoch_num: 1200
4
+ log_smooth_window: 20
5
+ print_batch_step: 2
6
+ save_model_dir: ./output/ch_db_mv3/
7
+ save_epoch_step: 1200
8
+ # evaluation is run every 5000 iterations after the 4000th iteration
9
+ eval_batch_step: [3000, 2000]
10
+ # if pretrained_model is saved in static mode, load_static_weights must set to True
11
+ load_static_weights: True
12
+ cal_metric_during_train: False
13
+ pretrained_model: ./pretrain_models/MobileNetV3_large_x0_5_pretrained
14
+ checkpoints:
15
+ save_inference_dir:
16
+ use_visualdl: False
17
+ infer_img: doc/imgs_en/img_10.jpg
18
+ save_res_path: ./output/det_db/predicts_db.txt
19
+
20
+ Architecture:
21
+ model_type: det
22
+ algorithm: DB
23
+ Transform:
24
+ Backbone:
25
+ name: MobileNetV3
26
+ scale: 0.5
27
+ model_name: large
28
+ disable_se: True
29
+ Neck:
30
+ name: DBFPN
31
+ out_channels: 96
32
+ Head:
33
+ name: DBHead
34
+ k: 50
35
+
36
+ Loss:
37
+ name: DBLoss
38
+ balance_loss: true
39
+ main_loss_type: DiceLoss
40
+ alpha: 5
41
+ beta: 10
42
+ ohem_ratio: 3
43
+
44
+ Optimizer:
45
+ name: Adam
46
+ beta1: 0.9
47
+ beta2: 0.999
48
+ lr:
49
+ name: Cosine
50
+ learning_rate: 0.001
51
+ warmup_epoch: 2
52
+ regularizer:
53
+ name: 'L2'
54
+ factor: 0
55
+
56
+ PostProcess:
57
+ name: DBPostProcess
58
+ thresh: 0.3
59
+ box_thresh: 0.6
60
+ max_candidates: 1000
61
+ unclip_ratio: 1.5
62
+
63
+ Metric:
64
+ name: DetMetric
65
+ main_indicator: hmean
66
+
67
+ Train:
68
+ dataset:
69
+ name: SimpleDataSet
70
+ data_dir: ./train_data/icdar2015/text_localization/
71
+ label_file_list:
72
+ - ./train_data/icdar2015/text_localization/train_icdar2015_label.txt
73
+ ratio_list: [1.0]
74
+ transforms:
75
+ - DecodeImage: # load image
76
+ img_mode: BGR
77
+ channel_first: False
78
+ - DetLabelEncode: # Class handling label
79
+ - IaaAugment:
80
+ augmenter_args:
81
+ - { 'type': Fliplr, 'args': { 'p': 0.5 } }
82
+ - { 'type': Affine, 'args': { 'rotate': [-10, 10] } }
83
+ - { 'type': Resize, 'args': { 'size': [0.5, 3] } }
84
+ - EastRandomCropData:
85
+ size: [960, 960]
86
+ max_tries: 50
87
+ keep_ratio: true
88
+ - MakeBorderMap:
89
+ shrink_ratio: 0.4
90
+ thresh_min: 0.3
91
+ thresh_max: 0.7
92
+ - MakeShrinkMap:
93
+ shrink_ratio: 0.4
94
+ min_text_size: 8
95
+ - NormalizeImage:
96
+ scale: 1./255.
97
+ mean: [0.485, 0.456, 0.406]
98
+ std: [0.229, 0.224, 0.225]
99
+ order: 'hwc'
100
+ - ToCHWImage:
101
+ - KeepKeys:
102
+ keep_keys: ['image', 'threshold_map', 'threshold_mask', 'shrink_map', 'shrink_mask'] # the order of the dataloader list
103
+ loader:
104
+ shuffle: True
105
+ drop_last: False
106
+ batch_size_per_card: 8
107
+ num_workers: 4
108
+
109
+ Eval:
110
+ dataset:
111
+ name: SimpleDataSet
112
+ data_dir: ./train_data/icdar2015/text_localization/
113
+ label_file_list:
114
+ - ./train_data/icdar2015/text_localization/test_icdar2015_label.txt
115
+ transforms:
116
+ - DecodeImage: # load image
117
+ img_mode: BGR
118
+ channel_first: False
119
+ - DetLabelEncode: # Class handling label
120
+ - DetResizeForTest:
121
+ # image_shape: [736, 1280]
122
+ - NormalizeImage:
123
+ scale: 1./255.
124
+ mean: [0.485, 0.456, 0.406]
125
+ std: [0.229, 0.224, 0.225]
126
+ order: 'hwc'
127
+ - ToCHWImage:
128
+ - KeepKeys:
129
+ keep_keys: ['image', 'shape', 'polys', 'ignore_tags']
130
+ loader:
131
+ shuffle: False
132
+ drop_last: False
133
+ batch_size_per_card: 1 # must be 1
134
+ num_workers: 2
PaddleOCR2Pytorch/configs/det/ch_ppocr_v2.0/ch_det_res18_db_v2.0.yml ADDED
@@ -0,0 +1,133 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ use_gpu: true
3
+ epoch_num: 1200
4
+ log_smooth_window: 20
5
+ print_batch_step: 2
6
+ save_model_dir: ./output/ch_db_res18/
7
+ save_epoch_step: 1200
8
+ # evaluation is run every 5000 iterations after the 4000th iteration
9
+ eval_batch_step: [3000, 2000]
10
+ # if pretrained_model is saved in static mode, load_static_weights must set to True
11
+ load_static_weights: True
12
+ cal_metric_during_train: False
13
+ pretrained_model: ./pretrain_models/ResNet18_vd_pretrained
14
+ checkpoints:
15
+ save_inference_dir:
16
+ use_visualdl: False
17
+ infer_img: doc/imgs_en/img_10.jpg
18
+ save_res_path: ./output/det_db/predicts_db.txt
19
+
20
+ Architecture:
21
+ model_type: det
22
+ algorithm: DB
23
+ Transform:
24
+ Backbone:
25
+ name: ResNet_vd
26
+ layers: 18
27
+ disable_se: True
28
+ Neck:
29
+ name: DBFPN
30
+ out_channels: 256
31
+ Head:
32
+ name: DBHead
33
+ k: 50
34
+
35
+ Loss:
36
+ name: DBLoss
37
+ balance_loss: true
38
+ main_loss_type: DiceLoss
39
+ alpha: 5
40
+ beta: 10
41
+ ohem_ratio: 3
42
+
43
+ Optimizer:
44
+ name: Adam
45
+ beta1: 0.9
46
+ beta2: 0.999
47
+ lr:
48
+ name: Cosine
49
+ learning_rate: 0.001
50
+ warmup_epoch: 2
51
+ regularizer:
52
+ name: 'L2'
53
+ factor: 0
54
+
55
+ PostProcess:
56
+ name: DBPostProcess
57
+ thresh: 0.3
58
+ box_thresh: 0.6
59
+ max_candidates: 1000
60
+ unclip_ratio: 1.5
61
+
62
+ Metric:
63
+ name: DetMetric
64
+ main_indicator: hmean
65
+
66
+ Train:
67
+ dataset:
68
+ name: SimpleDataSet
69
+ data_dir: ./train_data/icdar2015/text_localization/
70
+ label_file_list:
71
+ - ./train_data/icdar2015/text_localization/train_icdar2015_label.txt
72
+ ratio_list: [1.0]
73
+ transforms:
74
+ - DecodeImage: # load image
75
+ img_mode: BGR
76
+ channel_first: False
77
+ - DetLabelEncode: # Class handling label
78
+ - IaaAugment:
79
+ augmenter_args:
80
+ - { 'type': Fliplr, 'args': { 'p': 0.5 } }
81
+ - { 'type': Affine, 'args': { 'rotate': [-10, 10] } }
82
+ - { 'type': Resize, 'args': { 'size': [0.5, 3] } }
83
+ - EastRandomCropData:
84
+ size: [960, 960]
85
+ max_tries: 50
86
+ keep_ratio: true
87
+ - MakeBorderMap:
88
+ shrink_ratio: 0.4
89
+ thresh_min: 0.3
90
+ thresh_max: 0.7
91
+ - MakeShrinkMap:
92
+ shrink_ratio: 0.4
93
+ min_text_size: 8
94
+ - NormalizeImage:
95
+ scale: 1./255.
96
+ mean: [0.485, 0.456, 0.406]
97
+ std: [0.229, 0.224, 0.225]
98
+ order: 'hwc'
99
+ - ToCHWImage:
100
+ - KeepKeys:
101
+ keep_keys: ['image', 'threshold_map', 'threshold_mask', 'shrink_map', 'shrink_mask'] # the order of the dataloader list
102
+ loader:
103
+ shuffle: True
104
+ drop_last: False
105
+ batch_size_per_card: 8
106
+ num_workers: 4
107
+
108
+ Eval:
109
+ dataset:
110
+ name: SimpleDataSet
111
+ data_dir: ./train_data/icdar2015/text_localization/
112
+ label_file_list:
113
+ - ./train_data/icdar2015/text_localization/test_icdar2015_label.txt
114
+ transforms:
115
+ - DecodeImage: # load image
116
+ img_mode: BGR
117
+ channel_first: False
118
+ - DetLabelEncode: # Class handling label
119
+ - DetResizeForTest:
120
+ # image_shape: [736, 1280]
121
+ - NormalizeImage:
122
+ scale: 1./255.
123
+ mean: [0.485, 0.456, 0.406]
124
+ std: [0.229, 0.224, 0.225]
125
+ order: 'hwc'
126
+ - ToCHWImage:
127
+ - KeepKeys:
128
+ keep_keys: ['image', 'shape', 'polys', 'ignore_tags']
129
+ loader:
130
+ shuffle: False
131
+ drop_last: False
132
+ batch_size_per_card: 1 # must be 1
133
+ num_workers: 2
PaddleOCR2Pytorch/configs/det/det_mv3_db.yml ADDED
@@ -0,0 +1,133 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ use_gpu: true
3
+ epoch_num: 1200
4
+ log_smooth_window: 20
5
+ print_batch_step: 10
6
+ save_model_dir: ./output/db_mv3/
7
+ save_epoch_step: 1200
8
+ # evaluation is run every 2000 iterations
9
+ eval_batch_step: [0, 2000]
10
+ # if pretrained_model is saved in static mode, load_static_weights must set to True
11
+ load_static_weights: True
12
+ cal_metric_during_train: False
13
+ pretrained_model: ./pretrain_models/MobileNetV3_large_x0_5_pretrained
14
+ checkpoints:
15
+ save_inference_dir:
16
+ use_visualdl: False
17
+ infer_img: doc/imgs_en/img_10.jpg
18
+ save_res_path: ./output/det_db/predicts_db.txt
19
+
20
+ Architecture:
21
+ model_type: det
22
+ algorithm: DB
23
+ Transform:
24
+ Backbone:
25
+ name: MobileNetV3
26
+ scale: 0.5
27
+ model_name: large
28
+ Neck:
29
+ name: DBFPN
30
+ out_channels: 256
31
+ Head:
32
+ name: DBHead
33
+ k: 50
34
+
35
+ Loss:
36
+ name: DBLoss
37
+ balance_loss: true
38
+ main_loss_type: DiceLoss
39
+ alpha: 5
40
+ beta: 10
41
+ ohem_ratio: 3
42
+
43
+ Optimizer:
44
+ name: Adam
45
+ beta1: 0.9
46
+ beta2: 0.999
47
+ lr:
48
+ learning_rate: 0.001
49
+ regularizer:
50
+ name: 'L2'
51
+ factor: 0
52
+
53
+ PostProcess:
54
+ name: DBPostProcess
55
+ thresh: 0.3
56
+ box_thresh: 0.6
57
+ max_candidates: 1000
58
+ unclip_ratio: 1.5
59
+
60
+ Metric:
61
+ name: DetMetric
62
+ main_indicator: hmean
63
+
64
+ Train:
65
+ dataset:
66
+ name: SimpleDataSet
67
+ data_dir: ./train_data/icdar2015/text_localization/
68
+ label_file_list:
69
+ - ./train_data/icdar2015/text_localization/train_icdar2015_label.txt
70
+ ratio_list: [1.0]
71
+ transforms:
72
+ - DecodeImage: # load image
73
+ img_mode: BGR
74
+ channel_first: False
75
+ - DetLabelEncode: # Class handling label
76
+ - IaaAugment:
77
+ augmenter_args:
78
+ - { 'type': Fliplr, 'args': { 'p': 0.5 } }
79
+ - { 'type': Affine, 'args': { 'rotate': [-10, 10] } }
80
+ - { 'type': Resize, 'args': { 'size': [0.5, 3] } }
81
+ - EastRandomCropData:
82
+ size: [640, 640]
83
+ max_tries: 50
84
+ keep_ratio: true
85
+ - MakeBorderMap:
86
+ shrink_ratio: 0.4
87
+ thresh_min: 0.3
88
+ thresh_max: 0.7
89
+ - MakeShrinkMap:
90
+ shrink_ratio: 0.4
91
+ min_text_size: 8
92
+ - NormalizeImage:
93
+ scale: 1./255.
94
+ mean: [0.485, 0.456, 0.406]
95
+ std: [0.229, 0.224, 0.225]
96
+ order: 'hwc'
97
+ - ToCHWImage:
98
+ - KeepKeys:
99
+ keep_keys: ['image', 'threshold_map', 'threshold_mask', 'shrink_map', 'shrink_mask'] # the order of the dataloader list
100
+ loader:
101
+ shuffle: True
102
+ drop_last: False
103
+ batch_size_per_card: 16
104
+ num_workers: 8
105
+ use_shared_memory: False
106
+
107
+ Eval:
108
+ dataset:
109
+ name: SimpleDataSet
110
+ data_dir: ./train_data/icdar2015/text_localization/
111
+ label_file_list:
112
+ - ./train_data/icdar2015/text_localization/test_icdar2015_label.txt
113
+ transforms:
114
+ - DecodeImage: # load image
115
+ img_mode: BGR
116
+ channel_first: False
117
+ - DetLabelEncode: # Class handling label
118
+ - DetResizeForTest:
119
+ image_shape: [736, 1280]
120
+ - NormalizeImage:
121
+ scale: 1./255.
122
+ mean: [0.485, 0.456, 0.406]
123
+ std: [0.229, 0.224, 0.225]
124
+ order: 'hwc'
125
+ - ToCHWImage:
126
+ - KeepKeys:
127
+ keep_keys: ['image', 'shape', 'polys', 'ignore_tags']
128
+ loader:
129
+ shuffle: False
130
+ drop_last: False
131
+ batch_size_per_card: 1 # must be 1
132
+ num_workers: 8
133
+ use_shared_memory: False
PaddleOCR2Pytorch/configs/det/det_mv3_east.yml ADDED
@@ -0,0 +1,111 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ use_gpu: true
3
+ epoch_num: 10000
4
+ log_smooth_window: 20
5
+ print_batch_step: 2
6
+ save_model_dir: ./output/east_mv3/
7
+ save_epoch_step: 1000
8
+ # evaluation is run every 5000 iterations after the 4000th iteration
9
+ eval_batch_step: [4000, 5000]
10
+ # if pretrained_model is saved in static mode, load_static_weights must set to True
11
+ load_static_weights: True
12
+ cal_metric_during_train: False
13
+ pretrained_model: ./pretrain_models/MobileNetV3_large_x0_5_pretrained
14
+ checkpoints:
15
+ save_inference_dir:
16
+ use_visualdl: False
17
+ infer_img:
18
+ save_res_path: ./output/det_east/predicts_east.txt
19
+
20
+ Architecture:
21
+ model_type: det
22
+ algorithm: EAST
23
+ Transform:
24
+ Backbone:
25
+ name: MobileNetV3
26
+ scale: 0.5
27
+ model_name: large
28
+ Neck:
29
+ name: EASTFPN
30
+ model_name: small
31
+ Head:
32
+ name: EASTHead
33
+ model_name: small
34
+
35
+ Loss:
36
+ name: EASTLoss
37
+
38
+ Optimizer:
39
+ name: Adam
40
+ beta1: 0.9
41
+ beta2: 0.999
42
+ lr:
43
+ # name: Cosine
44
+ learning_rate: 0.001
45
+ # warmup_epoch: 0
46
+ regularizer:
47
+ name: 'L2'
48
+ factor: 0
49
+
50
+ PostProcess:
51
+ name: EASTPostProcess
52
+ score_thresh: 0.8
53
+ cover_thresh: 0.1
54
+ nms_thresh: 0.2
55
+
56
+ Metric:
57
+ name: DetMetric
58
+ main_indicator: hmean
59
+
60
+ Train:
61
+ dataset:
62
+ name: SimpleDataSet
63
+ data_dir: ./train_data/icdar2015/text_localization/
64
+ label_file_list:
65
+ - ./train_data/icdar2015/text_localization/train_icdar2015_label.txt
66
+ ratio_list: [1.0]
67
+ transforms:
68
+ - DecodeImage: # load image
69
+ img_mode: BGR
70
+ channel_first: False
71
+ - DetLabelEncode: # Class handling label
72
+ - EASTProcessTrain:
73
+ image_shape: [512, 512]
74
+ background_ratio: 0.125
75
+ min_crop_side_ratio: 0.1
76
+ min_text_size: 10
77
+ - KeepKeys:
78
+ keep_keys: ['image', 'score_map', 'geo_map', 'training_mask'] # dataloader will return list in this order
79
+ loader:
80
+ shuffle: True
81
+ drop_last: False
82
+ batch_size_per_card: 16
83
+ num_workers: 8
84
+
85
+ Eval:
86
+ dataset:
87
+ name: SimpleDataSet
88
+ data_dir: ./train_data/icdar2015/text_localization/
89
+ label_file_list:
90
+ - ./train_data/icdar2015/text_localization/test_icdar2015_label.txt
91
+ transforms:
92
+ - DecodeImage: # load image
93
+ img_mode: BGR
94
+ channel_first: False
95
+ - DetLabelEncode: # Class handling label
96
+ - DetResizeForTest:
97
+ limit_side_len: 2400
98
+ limit_type: max
99
+ - NormalizeImage:
100
+ scale: 1./255.
101
+ mean: [0.485, 0.456, 0.406]
102
+ std: [0.229, 0.224, 0.225]
103
+ order: 'hwc'
104
+ - ToCHWImage:
105
+ - KeepKeys:
106
+ keep_keys: ['image', 'shape', 'polys', 'ignore_tags']
107
+ loader:
108
+ shuffle: False
109
+ drop_last: False
110
+ batch_size_per_card: 1 # must be 1
111
+ num_workers: 2
PaddleOCR2Pytorch/configs/det/det_mv3_pse.yml ADDED
@@ -0,0 +1,135 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ use_gpu: true
3
+ epoch_num: 600
4
+ log_smooth_window: 20
5
+ print_batch_step: 10
6
+ save_model_dir: ./output/det_mv3_pse/
7
+ save_epoch_step: 600
8
+ # evaluation is run every 63 iterations
9
+ eval_batch_step: [ 0,63 ]
10
+ cal_metric_during_train: False
11
+ pretrained_model: ./pretrain_models/MobileNetV3_large_x0_5_pretrained
12
+ checkpoints: #./output/det_r50_vd_pse_batch8_ColorJitter/best_accuracy
13
+ save_inference_dir:
14
+ use_visualdl: False
15
+ infer_img: doc/imgs_en/img_10.jpg
16
+ save_res_path: ./output/det_pse/predicts_pse.txt
17
+
18
+ Architecture:
19
+ model_type: det
20
+ algorithm: PSE
21
+ Transform: null
22
+ Backbone:
23
+ name: MobileNetV3
24
+ scale: 0.5
25
+ model_name: large
26
+ Neck:
27
+ name: FPN
28
+ out_channels: 96
29
+ Head:
30
+ name: PSEHead
31
+ hidden_dim: 96
32
+ out_channels: 7
33
+
34
+ Loss:
35
+ name: PSELoss
36
+ alpha: 0.7
37
+ ohem_ratio: 3
38
+ kernel_sample_mask: pred
39
+ reduction: none
40
+
41
+ Optimizer:
42
+ name: Adam
43
+ beta1: 0.9
44
+ beta2: 0.999
45
+ lr:
46
+ name: Step
47
+ learning_rate: 0.001
48
+ step_size: 200
49
+ gamma: 0.1
50
+ regularizer:
51
+ name: 'L2'
52
+ factor: 0.0005
53
+
54
+ PostProcess:
55
+ name: PSEPostProcess
56
+ thresh: 0
57
+ box_thresh: 0.85
58
+ min_area: 16
59
+ box_type: box # 'box' or 'poly'
60
+ scale: 1
61
+
62
+ Metric:
63
+ name: DetMetric
64
+ main_indicator: hmean
65
+
66
+ Train:
67
+ dataset:
68
+ name: SimpleDataSet
69
+ data_dir: ./train_data/icdar2015/text_localization/
70
+ label_file_list:
71
+ - ./train_data/icdar2015/text_localization/train_icdar2015_label.txt
72
+ ratio_list: [ 1.0 ]
73
+ transforms:
74
+ - DecodeImage: # load image
75
+ img_mode: BGR
76
+ channel_first: False
77
+ - DetLabelEncode: # Class handling label
78
+ - ColorJitter:
79
+ brightness: 0.12549019607843137
80
+ saturation: 0.5
81
+ - IaaAugment:
82
+ augmenter_args:
83
+ - { 'type': Resize, 'args': { 'size': [ 0.5, 3 ] } }
84
+ - { 'type': Fliplr, 'args': { 'p': 0.5 } }
85
+ - { 'type': Affine, 'args': { 'rotate': [ -10, 10 ] } }
86
+ - MakePseGt:
87
+ kernel_num: 7
88
+ min_shrink_ratio: 0.4
89
+ size: 640
90
+ - RandomCropImgMask:
91
+ size: [ 640,640 ]
92
+ main_key: gt_text
93
+ crop_keys: [ 'image', 'gt_text', 'gt_kernels', 'mask' ]
94
+ - NormalizeImage:
95
+ scale: 1./255.
96
+ mean: [ 0.485, 0.456, 0.406 ]
97
+ std: [ 0.229, 0.224, 0.225 ]
98
+ order: 'hwc'
99
+ - ToCHWImage:
100
+ - KeepKeys:
101
+ keep_keys: [ 'image', 'gt_text', 'gt_kernels', 'mask' ] # the order of the dataloader list
102
+ loader:
103
+ shuffle: True
104
+ drop_last: False
105
+ batch_size_per_card: 16
106
+ num_workers: 8
107
+
108
+ Eval:
109
+ dataset:
110
+ name: SimpleDataSet
111
+ data_dir: ./train_data/icdar2015/text_localization/
112
+ label_file_list:
113
+ - ./train_data/icdar2015/text_localization/test_icdar2015_label.txt
114
+ ratio_list: [ 1.0 ]
115
+ transforms:
116
+ - DecodeImage: # load image
117
+ img_mode: BGR
118
+ channel_first: False
119
+ - DetLabelEncode: # Class handling label
120
+ - DetResizeForTest:
121
+ limit_side_len: 736
122
+ limit_type: min
123
+ - NormalizeImage:
124
+ scale: 1./255.
125
+ mean: [ 0.485, 0.456, 0.406 ]
126
+ std: [ 0.229, 0.224, 0.225 ]
127
+ order: 'hwc'
128
+ - ToCHWImage:
129
+ - KeepKeys:
130
+ keep_keys: [ 'image', 'shape', 'polys', 'ignore_tags' ]
131
+ loader:
132
+ shuffle: False
133
+ drop_last: False
134
+ batch_size_per_card: 1 # must be 1
135
+ num_workers: 8
PaddleOCR2Pytorch/configs/det/det_ppocr_v3.yml ADDED
@@ -0,0 +1,163 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ debug: false
3
+ use_gpu: true
4
+ epoch_num: 500
5
+ log_smooth_window: 20
6
+ print_batch_step: 10
7
+ save_model_dir: ./output/ch_PP-OCR_V3_det/
8
+ save_epoch_step: 100
9
+ eval_batch_step:
10
+ - 0
11
+ - 400
12
+ cal_metric_during_train: false
13
+ pretrained_model: null
14
+ checkpoints: null
15
+ save_inference_dir: null
16
+ use_visualdl: false
17
+ infer_img: doc/imgs_en/img_10.jpg
18
+ save_res_path: ./checkpoints/det_db/predicts_db.txt
19
+ distributed: true
20
+
21
+ Architecture:
22
+ model_type: det
23
+ algorithm: DB
24
+ Transform:
25
+ Backbone:
26
+ name: MobileNetV3
27
+ scale: 0.5
28
+ model_name: large
29
+ disable_se: True
30
+ Neck:
31
+ name: RSEFPN
32
+ out_channels: 96
33
+ shortcut: True
34
+ Head:
35
+ name: DBHead
36
+ k: 50
37
+
38
+ Loss:
39
+ name: DBLoss
40
+ balance_loss: true
41
+ main_loss_type: DiceLoss
42
+ alpha: 5
43
+ beta: 10
44
+ ohem_ratio: 3
45
+ Optimizer:
46
+ name: Adam
47
+ beta1: 0.9
48
+ beta2: 0.999
49
+ lr:
50
+ name: Cosine
51
+ learning_rate: 0.001
52
+ warmup_epoch: 2
53
+ regularizer:
54
+ name: L2
55
+ factor: 5.0e-05
56
+ PostProcess:
57
+ name: DBPostProcess
58
+ thresh: 0.3
59
+ box_thresh: 0.6
60
+ max_candidates: 1000
61
+ unclip_ratio: 1.5
62
+ Metric:
63
+ name: DetMetric
64
+ main_indicator: hmean
65
+ Train:
66
+ dataset:
67
+ name: SimpleDataSet
68
+ data_dir: ./train_data/icdar2015/text_localization/
69
+ label_file_list:
70
+ - ./train_data/icdar2015/text_localization/train_icdar2015_label.txt
71
+ ratio_list: [1.0]
72
+ transforms:
73
+ - DecodeImage:
74
+ img_mode: BGR
75
+ channel_first: false
76
+ - DetLabelEncode: null
77
+ - IaaAugment:
78
+ augmenter_args:
79
+ - type: Fliplr
80
+ args:
81
+ p: 0.5
82
+ - type: Affine
83
+ args:
84
+ rotate:
85
+ - -10
86
+ - 10
87
+ - type: Resize
88
+ args:
89
+ size:
90
+ - 0.5
91
+ - 3
92
+ - EastRandomCropData:
93
+ size:
94
+ - 960
95
+ - 960
96
+ max_tries: 50
97
+ keep_ratio: true
98
+ - MakeBorderMap:
99
+ shrink_ratio: 0.4
100
+ thresh_min: 0.3
101
+ thresh_max: 0.7
102
+ - MakeShrinkMap:
103
+ shrink_ratio: 0.4
104
+ min_text_size: 8
105
+ - NormalizeImage:
106
+ scale: 1./255.
107
+ mean:
108
+ - 0.485
109
+ - 0.456
110
+ - 0.406
111
+ std:
112
+ - 0.229
113
+ - 0.224
114
+ - 0.225
115
+ order: hwc
116
+ - ToCHWImage: null
117
+ - KeepKeys:
118
+ keep_keys:
119
+ - image
120
+ - threshold_map
121
+ - threshold_mask
122
+ - shrink_map
123
+ - shrink_mask
124
+ loader:
125
+ shuffle: true
126
+ drop_last: false
127
+ batch_size_per_card: 8
128
+ num_workers: 4
129
+ Eval:
130
+ dataset:
131
+ name: SimpleDataSet
132
+ data_dir: ./train_data/icdar2015/text_localization/
133
+ label_file_list:
134
+ - ./train_data/icdar2015/text_localization/test_icdar2015_label.txt
135
+ transforms:
136
+ - DecodeImage:
137
+ img_mode: BGR
138
+ channel_first: false
139
+ - DetLabelEncode: null
140
+ - DetResizeForTest: null
141
+ - NormalizeImage:
142
+ scale: 1./255.
143
+ mean:
144
+ - 0.485
145
+ - 0.456
146
+ - 0.406
147
+ std:
148
+ - 0.229
149
+ - 0.224
150
+ - 0.225
151
+ order: hwc
152
+ - ToCHWImage: null
153
+ - KeepKeys:
154
+ keep_keys:
155
+ - image
156
+ - shape
157
+ - polys
158
+ - ignore_tags
159
+ loader:
160
+ shuffle: false
161
+ drop_last: false
162
+ batch_size_per_card: 1
163
+ num_workers: 2
PaddleOCR2Pytorch/configs/det/det_r50_db++_icdar15.yml ADDED
@@ -0,0 +1,163 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ debug: false
3
+ use_gpu: true
4
+ epoch_num: 1000
5
+ log_smooth_window: 20
6
+ print_batch_step: 10
7
+ save_model_dir: ./output/det_r50_icdar15/
8
+ save_epoch_step: 200
9
+ eval_batch_step:
10
+ - 0
11
+ - 2000
12
+ cal_metric_during_train: false
13
+ pretrained_model: ./pretrain_models/ResNet50_dcn_asf_synthtext_pretrained
14
+ checkpoints: null
15
+ save_inference_dir: null
16
+ use_visualdl: false
17
+ infer_img: doc/imgs_en/img_10.jpg
18
+ save_res_path: ./checkpoints/det_db/predicts_db.txt
19
+ Architecture:
20
+ model_type: det
21
+ algorithm: DB++
22
+ Transform: null
23
+ Backbone:
24
+ name: ResNet
25
+ layers: 50
26
+ dcn_stage: [False, True, True, True]
27
+ Neck:
28
+ name: DBFPN
29
+ out_channels: 256
30
+ use_asf: True
31
+ Head:
32
+ name: DBHead
33
+ k: 50
34
+ Loss:
35
+ name: DBLoss
36
+ balance_loss: true
37
+ main_loss_type: BCELoss
38
+ alpha: 5
39
+ beta: 10
40
+ ohem_ratio: 3
41
+ Optimizer:
42
+ name: Momentum
43
+ momentum: 0.9
44
+ lr:
45
+ name: DecayLearningRate
46
+ learning_rate: 0.007
47
+ epochs: 1000
48
+ factor: 0.9
49
+ end_lr: 0
50
+ weight_decay: 0.0001
51
+ PostProcess:
52
+ name: DBPostProcess
53
+ thresh: 0.3
54
+ box_thresh: 0.6
55
+ max_candidates: 1000
56
+ unclip_ratio: 1.5
57
+ Metric:
58
+ name: DetMetric
59
+ main_indicator: hmean
60
+ Train:
61
+ dataset:
62
+ name: SimpleDataSet
63
+ data_dir: ./train_data/icdar2015/text_localization/
64
+ label_file_list:
65
+ - ./train_data/icdar2015/text_localization/train_icdar2015_label.txt
66
+ ratio_list:
67
+ - 1.0
68
+ transforms:
69
+ - DecodeImage:
70
+ img_mode: BGR
71
+ channel_first: false
72
+ - DetLabelEncode: null
73
+ - IaaAugment:
74
+ augmenter_args:
75
+ - type: Fliplr
76
+ args:
77
+ p: 0.5
78
+ - type: Affine
79
+ args:
80
+ rotate:
81
+ - -10
82
+ - 10
83
+ - type: Resize
84
+ args:
85
+ size:
86
+ - 0.5
87
+ - 3
88
+ - EastRandomCropData:
89
+ size:
90
+ - 640
91
+ - 640
92
+ max_tries: 10
93
+ keep_ratio: true
94
+ - MakeShrinkMap:
95
+ shrink_ratio: 0.4
96
+ min_text_size: 8
97
+ - MakeBorderMap:
98
+ shrink_ratio: 0.4
99
+ thresh_min: 0.3
100
+ thresh_max: 0.7
101
+ - NormalizeImage:
102
+ scale: 1./255.
103
+ mean:
104
+ - 0.48109378172549
105
+ - 0.45752457890196
106
+ - 0.40787054090196
107
+ std:
108
+ - 1.0
109
+ - 1.0
110
+ - 1.0
111
+ order: hwc
112
+ - ToCHWImage: null
113
+ - KeepKeys:
114
+ keep_keys:
115
+ - image
116
+ - threshold_map
117
+ - threshold_mask
118
+ - shrink_map
119
+ - shrink_mask
120
+ loader:
121
+ shuffle: true
122
+ drop_last: false
123
+ batch_size_per_card: 4
124
+ num_workers: 8
125
+ Eval:
126
+ dataset:
127
+ name: SimpleDataSet
128
+ data_dir: ./train_data/icdar2015/text_localization
129
+ label_file_list:
130
+ - ./train_data/icdar2015/text_localization/test_icdar2015_label.txt
131
+ transforms:
132
+ - DecodeImage:
133
+ img_mode: BGR
134
+ channel_first: false
135
+ - DetLabelEncode: null
136
+ - DetResizeForTest:
137
+ image_shape:
138
+ - 1152
139
+ - 2048
140
+ - NormalizeImage:
141
+ scale: 1./255.
142
+ mean:
143
+ - 0.48109378172549
144
+ - 0.45752457890196
145
+ - 0.40787054090196
146
+ std:
147
+ - 1.0
148
+ - 1.0
149
+ - 1.0
150
+ order: hwc
151
+ - ToCHWImage: null
152
+ - KeepKeys:
153
+ keep_keys:
154
+ - image
155
+ - shape
156
+ - polys
157
+ - ignore_tags
158
+ loader:
159
+ shuffle: false
160
+ drop_last: false
161
+ batch_size_per_card: 1
162
+ num_workers: 2
163
+ profiler_options: null
PaddleOCR2Pytorch/configs/det/det_r50_db++_td_tr.yml ADDED
@@ -0,0 +1,166 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ debug: false
3
+ use_gpu: true
4
+ epoch_num: 1000
5
+ log_smooth_window: 20
6
+ print_batch_step: 10
7
+ save_model_dir: ./output/det_r50_td_tr/
8
+ save_epoch_step: 200
9
+ eval_batch_step:
10
+ - 0
11
+ - 2000
12
+ cal_metric_during_train: false
13
+ pretrained_model: ./pretrain_models/ResNet50_dcn_asf_synthtext_pretrained
14
+ checkpoints: null
15
+ save_inference_dir: null
16
+ use_visualdl: false
17
+ infer_img: doc/imgs_en/img_10.jpg
18
+ save_res_path: ./checkpoints/det_db/predicts_db.txt
19
+ Architecture:
20
+ model_type: det
21
+ algorithm: DB++
22
+ Transform: null
23
+ Backbone:
24
+ name: ResNet
25
+ layers: 50
26
+ dcn_stage: [False, True, True, True]
27
+ Neck:
28
+ name: DBFPN
29
+ out_channels: 256
30
+ use_asf: True
31
+ Head:
32
+ name: DBHead
33
+ k: 50
34
+ Loss:
35
+ name: DBLoss
36
+ balance_loss: true
37
+ main_loss_type: BCELoss
38
+ alpha: 5
39
+ beta: 10
40
+ ohem_ratio: 3
41
+ Optimizer:
42
+ name: Momentum
43
+ momentum: 0.9
44
+ lr:
45
+ name: DecayLearningRate
46
+ learning_rate: 0.007
47
+ epochs: 1000
48
+ factor: 0.9
49
+ end_lr: 0
50
+ weight_decay: 0.0001
51
+ PostProcess:
52
+ name: DBPostProcess
53
+ thresh: 0.3
54
+ box_thresh: 0.5
55
+ max_candidates: 1000
56
+ unclip_ratio: 1.5
57
+ Metric:
58
+ name: DetMetric
59
+ main_indicator: hmean
60
+ Train:
61
+ dataset:
62
+ name: SimpleDataSet
63
+ data_dir: ./train_data/
64
+ label_file_list:
65
+ - ./train_data/TD_TR/TD500/train_gt_labels.txt
66
+ - ./train_data/TD_TR/TR400/gt_labels.txt
67
+ ratio_list:
68
+ - 1.0
69
+ - 1.0
70
+ transforms:
71
+ - DecodeImage:
72
+ img_mode: BGR
73
+ channel_first: false
74
+ - DetLabelEncode: null
75
+ - IaaAugment:
76
+ augmenter_args:
77
+ - type: Fliplr
78
+ args:
79
+ p: 0.5
80
+ - type: Affine
81
+ args:
82
+ rotate:
83
+ - -10
84
+ - 10
85
+ - type: Resize
86
+ args:
87
+ size:
88
+ - 0.5
89
+ - 3
90
+ - EastRandomCropData:
91
+ size:
92
+ - 640
93
+ - 640
94
+ max_tries: 10
95
+ keep_ratio: true
96
+ - MakeShrinkMap:
97
+ shrink_ratio: 0.4
98
+ min_text_size: 8
99
+ - MakeBorderMap:
100
+ shrink_ratio: 0.4
101
+ thresh_min: 0.3
102
+ thresh_max: 0.7
103
+ - NormalizeImage:
104
+ scale: 1./255.
105
+ mean:
106
+ - 0.48109378172549
107
+ - 0.45752457890196
108
+ - 0.40787054090196
109
+ std:
110
+ - 1.0
111
+ - 1.0
112
+ - 1.0
113
+ order: hwc
114
+ - ToCHWImage: null
115
+ - KeepKeys:
116
+ keep_keys:
117
+ - image
118
+ - threshold_map
119
+ - threshold_mask
120
+ - shrink_map
121
+ - shrink_mask
122
+ loader:
123
+ shuffle: true
124
+ drop_last: false
125
+ batch_size_per_card: 4
126
+ num_workers: 8
127
+ Eval:
128
+ dataset:
129
+ name: SimpleDataSet
130
+ data_dir: ./train_data/
131
+ label_file_list:
132
+ - ./train_data/TD_TR/TD500/test_gt_labels.txt
133
+ transforms:
134
+ - DecodeImage:
135
+ img_mode: BGR
136
+ channel_first: false
137
+ - DetLabelEncode: null
138
+ - DetResizeForTest:
139
+ image_shape:
140
+ - 736
141
+ - 736
142
+ keep_ratio: True
143
+ - NormalizeImage:
144
+ scale: 1./255.
145
+ mean:
146
+ - 0.48109378172549
147
+ - 0.45752457890196
148
+ - 0.40787054090196
149
+ std:
150
+ - 1.0
151
+ - 1.0
152
+ - 1.0
153
+ order: hwc
154
+ - ToCHWImage: null
155
+ - KeepKeys:
156
+ keep_keys:
157
+ - image
158
+ - shape
159
+ - polys
160
+ - ignore_tags
161
+ loader:
162
+ shuffle: false
163
+ drop_last: false
164
+ batch_size_per_card: 1
165
+ num_workers: 2
166
+ profiler_options: null
PaddleOCR2Pytorch/configs/det/det_r50_vd_db.yml ADDED
@@ -0,0 +1,130 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ use_gpu: true
3
+ epoch_num: 1200
4
+ log_smooth_window: 20
5
+ print_batch_step: 10
6
+ save_model_dir: ./output/det_r50_vd/
7
+ save_epoch_step: 1200
8
+ # evaluation is run every 2000 iterations
9
+ eval_batch_step: [0,2000]
10
+ # if pretrained_model is saved in static mode, load_static_weights must set to True
11
+ load_static_weights: True
12
+ cal_metric_during_train: False
13
+ pretrained_model: ./pretrain_models/ResNet50_vd_ssld_pretrained
14
+ checkpoints:
15
+ save_inference_dir:
16
+ use_visualdl: False
17
+ infer_img: doc/imgs_en/img_10.jpg
18
+ save_res_path: ./output/det_db/predicts_db.txt
19
+
20
+ Architecture:
21
+ model_type: det
22
+ algorithm: DB
23
+ Transform:
24
+ Backbone:
25
+ name: ResNet_vd
26
+ layers: 50
27
+ Neck:
28
+ name: DBFPN
29
+ out_channels: 256
30
+ Head:
31
+ name: DBHead
32
+ k: 50
33
+
34
+ Loss:
35
+ name: DBLoss
36
+ balance_loss: true
37
+ main_loss_type: DiceLoss
38
+ alpha: 5
39
+ beta: 10
40
+ ohem_ratio: 3
41
+
42
+ Optimizer:
43
+ name: Adam
44
+ beta1: 0.9
45
+ beta2: 0.999
46
+ lr:
47
+ learning_rate: 0.001
48
+ regularizer:
49
+ name: 'L2'
50
+ factor: 0
51
+
52
+ PostProcess:
53
+ name: DBPostProcess
54
+ thresh: 0.3
55
+ box_thresh: 0.7
56
+ max_candidates: 1000
57
+ unclip_ratio: 1.5
58
+
59
+ Metric:
60
+ name: DetMetric
61
+ main_indicator: hmean
62
+
63
+ Train:
64
+ dataset:
65
+ name: SimpleDataSet
66
+ data_dir: ./train_data/icdar2015/text_localization/
67
+ label_file_list:
68
+ - ./train_data/icdar2015/text_localization/train_icdar2015_label.txt
69
+ ratio_list: [1.0]
70
+ transforms:
71
+ - DecodeImage: # load image
72
+ img_mode: BGR
73
+ channel_first: False
74
+ - DetLabelEncode: # Class handling label
75
+ - IaaAugment:
76
+ augmenter_args:
77
+ - { 'type': Fliplr, 'args': { 'p': 0.5 } }
78
+ - { 'type': Affine, 'args': { 'rotate': [-10, 10] } }
79
+ - { 'type': Resize, 'args': { 'size': [0.5, 3] } }
80
+ - EastRandomCropData:
81
+ size: [640, 640]
82
+ max_tries: 50
83
+ keep_ratio: true
84
+ - MakeBorderMap:
85
+ shrink_ratio: 0.4
86
+ thresh_min: 0.3
87
+ thresh_max: 0.7
88
+ - MakeShrinkMap:
89
+ shrink_ratio: 0.4
90
+ min_text_size: 8
91
+ - NormalizeImage:
92
+ scale: 1./255.
93
+ mean: [0.485, 0.456, 0.406]
94
+ std: [0.229, 0.224, 0.225]
95
+ order: 'hwc'
96
+ - ToCHWImage:
97
+ - KeepKeys:
98
+ keep_keys: ['image', 'threshold_map', 'threshold_mask', 'shrink_map', 'shrink_mask'] # the order of the dataloader list
99
+ loader:
100
+ shuffle: True
101
+ drop_last: False
102
+ batch_size_per_card: 16
103
+ num_workers: 8
104
+
105
+ Eval:
106
+ dataset:
107
+ name: SimpleDataSet
108
+ data_dir: ./train_data/icdar2015/text_localization/
109
+ label_file_list:
110
+ - ./train_data/icdar2015/text_localization/test_icdar2015_label.txt
111
+ transforms:
112
+ - DecodeImage: # load image
113
+ img_mode: BGR
114
+ channel_first: False
115
+ - DetLabelEncode: # Class handling label
116
+ - DetResizeForTest:
117
+ image_shape: [736, 1280]
118
+ - NormalizeImage:
119
+ scale: 1./255.
120
+ mean: [0.485, 0.456, 0.406]
121
+ std: [0.229, 0.224, 0.225]
122
+ order: 'hwc'
123
+ - ToCHWImage:
124
+ - KeepKeys:
125
+ keep_keys: ['image', 'shape', 'polys', 'ignore_tags']
126
+ loader:
127
+ shuffle: False
128
+ drop_last: False
129
+ batch_size_per_card: 1 # must be 1
130
+ num_workers: 8
PaddleOCR2Pytorch/configs/det/det_r50_vd_dcn_fce_ctw.yml ADDED
@@ -0,0 +1,139 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ use_gpu: true
3
+ epoch_num: 1500
4
+ log_smooth_window: 20
5
+ print_batch_step: 20
6
+ save_model_dir: ./output/det_r50_dcn_fce_ctw/
7
+ save_epoch_step: 100
8
+ # evaluation is run every 835 iterations
9
+ eval_batch_step: [0, 835]
10
+ cal_metric_during_train: False
11
+ pretrained_model: ./pretrain_models/ResNet50_vd_ssld_pretrained
12
+ checkpoints:
13
+ save_inference_dir:
14
+ use_visualdl: False
15
+ infer_img: doc/imgs_en/img_10.jpg
16
+ save_res_path: ./output/det_fce/predicts_fce.txt
17
+
18
+
19
+ Architecture:
20
+ model_type: det
21
+ algorithm: FCE
22
+ Transform:
23
+ Backbone:
24
+ name: ResNet_vd
25
+ layers: 50
26
+ dcn_stage: [False, True, True, True]
27
+ out_indices: [1,2,3]
28
+ Neck:
29
+ name: FCEFPN
30
+ out_channels: 256
31
+ has_extra_convs: False
32
+ extra_stage: 0
33
+ Head:
34
+ name: FCEHead
35
+ fourier_degree: 5
36
+ Loss:
37
+ name: FCELoss
38
+ fourier_degree: 5
39
+ num_sample: 50
40
+
41
+ Optimizer:
42
+ name: Adam
43
+ beta1: 0.9
44
+ beta2: 0.999
45
+ lr:
46
+ learning_rate: 0.0001
47
+ regularizer:
48
+ name: 'L2'
49
+ factor: 0
50
+
51
+ PostProcess:
52
+ name: FCEPostProcess
53
+ scales: [8, 16, 32]
54
+ alpha: 1.0
55
+ beta: 1.0
56
+ fourier_degree: 5
57
+ box_type: 'poly'
58
+
59
+ Metric:
60
+ name: DetFCEMetric
61
+ main_indicator: hmean
62
+
63
+ Train:
64
+ dataset:
65
+ name: SimpleDataSet
66
+ data_dir: ./train_data/ctw1500/imgs/
67
+ label_file_list:
68
+ - ./train_data/ctw1500/imgs/training.txt
69
+ transforms:
70
+ - DecodeImage: # load image
71
+ img_mode: BGR
72
+ channel_first: False
73
+ ignore_orientation: True
74
+ - DetLabelEncode: # Class handling label
75
+ - ColorJitter:
76
+ brightness: 0.142
77
+ saturation: 0.5
78
+ contrast: 0.5
79
+ - RandomScaling:
80
+ - RandomCropFlip:
81
+ crop_ratio: 0.5
82
+ - RandomCropPolyInstances:
83
+ crop_ratio: 0.8
84
+ min_side_ratio: 0.3
85
+ - RandomRotatePolyInstances:
86
+ rotate_ratio: 0.5
87
+ max_angle: 30
88
+ pad_with_fixed_color: False
89
+ - SquareResizePad:
90
+ target_size: 800
91
+ pad_ratio: 0.6
92
+ - IaaAugment:
93
+ augmenter_args:
94
+ - { 'type': Fliplr, 'args': { 'p': 0.5 } }
95
+ - FCENetTargets:
96
+ fourier_degree: 5
97
+ - NormalizeImage:
98
+ scale: 1./255.
99
+ mean: [0.485, 0.456, 0.406]
100
+ std: [0.229, 0.224, 0.225]
101
+ order: 'hwc'
102
+ - ToCHWImage:
103
+ - KeepKeys:
104
+ keep_keys: ['image', 'p3_maps', 'p4_maps', 'p5_maps'] # dataloader will return list in this order
105
+ loader:
106
+ shuffle: True
107
+ drop_last: False
108
+ batch_size_per_card: 6
109
+ num_workers: 8
110
+
111
+ Eval:
112
+ dataset:
113
+ name: SimpleDataSet
114
+ data_dir: ./train_data/ctw1500/imgs/
115
+ label_file_list:
116
+ - ./train_data/ctw1500/imgs/test.txt
117
+ transforms:
118
+ - DecodeImage: # load image
119
+ img_mode: BGR
120
+ channel_first: False
121
+ ignore_orientation: True
122
+ - DetLabelEncode: # Class handling label
123
+ - DetResizeForTest:
124
+ limit_type: 'min'
125
+ limit_side_len: 736
126
+ - NormalizeImage:
127
+ scale: 1./255.
128
+ mean: [0.485, 0.456, 0.406]
129
+ std: [0.229, 0.224, 0.225]
130
+ order: 'hwc'
131
+ - Pad:
132
+ - ToCHWImage:
133
+ - KeepKeys:
134
+ keep_keys: ['image', 'shape', 'polys', 'ignore_tags']
135
+ loader:
136
+ shuffle: False
137
+ drop_last: False
138
+ batch_size_per_card: 1 # must be 1
139
+ num_workers: 2
PaddleOCR2Pytorch/configs/det/det_r50_vd_east.yml ADDED
@@ -0,0 +1,110 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ use_gpu: true
3
+ epoch_num: 10000
4
+ log_smooth_window: 20
5
+ print_batch_step: 2
6
+ save_model_dir: ./output/east_r50_vd/
7
+ save_epoch_step: 1000
8
+ # evaluation is run every 5000 iterations after the 4000th iteration
9
+ eval_batch_step: [4000, 5000]
10
+ # if pretrained_model is saved in static mode, load_static_weights must set to True
11
+ load_static_weights: True
12
+ cal_metric_during_train: False
13
+ pretrained_model: ./pretrain_models/ResNet50_vd_pretrained/
14
+ checkpoints:
15
+ save_inference_dir:
16
+ use_visualdl: False
17
+ infer_img:
18
+ save_res_path: ./output/det_east/predicts_east.txt
19
+
20
+ Architecture:
21
+ model_type: det
22
+ algorithm: EAST
23
+ Transform:
24
+ Backbone:
25
+ name: ResNet_vd
26
+ layers: 50
27
+ Neck:
28
+ name: EASTFPN
29
+ model_name: large
30
+ Head:
31
+ name: EASTHead
32
+ model_name: large
33
+
34
+ Loss:
35
+ name: EASTLoss
36
+
37
+ Optimizer:
38
+ name: Adam
39
+ beta1: 0.9
40
+ beta2: 0.999
41
+ lr:
42
+ # name: Cosine
43
+ learning_rate: 0.001
44
+ # warmup_epoch: 0
45
+ regularizer:
46
+ name: 'L2'
47
+ factor: 0
48
+
49
+ PostProcess:
50
+ name: EASTPostProcess
51
+ score_thresh: 0.8
52
+ cover_thresh: 0.1
53
+ nms_thresh: 0.2
54
+
55
+ Metric:
56
+ name: DetMetric
57
+ main_indicator: hmean
58
+
59
+ Train:
60
+ dataset:
61
+ name: SimpleDataSet
62
+ data_dir: ./train_data/icdar2015/text_localization/
63
+ label_file_list:
64
+ - ./train_data/icdar2015/text_localization/train_icdar2015_label.txt
65
+ ratio_list: [1.0]
66
+ transforms:
67
+ - DecodeImage: # load image
68
+ img_mode: BGR
69
+ channel_first: False
70
+ - DetLabelEncode: # Class handling label
71
+ - EASTProcessTrain:
72
+ image_shape: [512, 512]
73
+ background_ratio: 0.125
74
+ min_crop_side_ratio: 0.1
75
+ min_text_size: 10
76
+ - KeepKeys:
77
+ keep_keys: ['image', 'score_map', 'geo_map', 'training_mask'] # dataloader will return list in this order
78
+ loader:
79
+ shuffle: True
80
+ drop_last: False
81
+ batch_size_per_card: 8
82
+ num_workers: 8
83
+
84
+ Eval:
85
+ dataset:
86
+ name: SimpleDataSet
87
+ data_dir: ./train_data/icdar2015/text_localization/
88
+ label_file_list:
89
+ - ./train_data/icdar2015/text_localization/test_icdar2015_label.txt
90
+ transforms:
91
+ - DecodeImage: # load image
92
+ img_mode: BGR
93
+ channel_first: False
94
+ - DetLabelEncode: # Class handling label
95
+ - DetResizeForTest:
96
+ limit_side_len: 2400
97
+ limit_type: max
98
+ - NormalizeImage:
99
+ scale: 1./255.
100
+ mean: [0.485, 0.456, 0.406]
101
+ std: [0.229, 0.224, 0.225]
102
+ order: 'hwc'
103
+ - ToCHWImage:
104
+ - KeepKeys:
105
+ keep_keys: ['image', 'shape', 'polys', 'ignore_tags']
106
+ loader:
107
+ shuffle: False
108
+ drop_last: False
109
+ batch_size_per_card: 1 # must be 1
110
+ num_workers: 2
PaddleOCR2Pytorch/configs/det/det_r50_vd_pse.yml ADDED
@@ -0,0 +1,134 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ use_gpu: true
3
+ epoch_num: 600
4
+ log_smooth_window: 20
5
+ print_batch_step: 10
6
+ save_model_dir: ./output/det_r50_vd_pse/
7
+ save_epoch_step: 600
8
+ # evaluation is run every 125 iterations
9
+ eval_batch_step: [ 0,125 ]
10
+ cal_metric_during_train: False
11
+ pretrained_model: ./pretrain_models/ResNet50_vd_ssld_pretrained
12
+ checkpoints: #./output/det_r50_vd_pse_batch8_ColorJitter/best_accuracy
13
+ save_inference_dir:
14
+ use_visualdl: False
15
+ infer_img: doc/imgs_en/img_10.jpg
16
+ save_res_path: ./output/det_pse/predicts_pse.txt
17
+
18
+ Architecture:
19
+ model_type: det
20
+ algorithm: PSE
21
+ Transform:
22
+ Backbone:
23
+ name: ResNet_vd
24
+ layers: 50
25
+ Neck:
26
+ name: FPN
27
+ out_channels: 256
28
+ Head:
29
+ name: PSEHead
30
+ hidden_dim: 256
31
+ out_channels: 7
32
+
33
+ Loss:
34
+ name: PSELoss
35
+ alpha: 0.7
36
+ ohem_ratio: 3
37
+ kernel_sample_mask: pred
38
+ reduction: none
39
+
40
+ Optimizer:
41
+ name: Adam
42
+ beta1: 0.9
43
+ beta2: 0.999
44
+ lr:
45
+ name: Step
46
+ learning_rate: 0.0001
47
+ step_size: 200
48
+ gamma: 0.1
49
+ regularizer:
50
+ name: 'L2'
51
+ factor: 0.0005
52
+
53
+ PostProcess:
54
+ name: PSEPostProcess
55
+ thresh: 0
56
+ box_thresh: 0.85
57
+ min_area: 16
58
+ box_type: box # 'box' or 'poly'
59
+ scale: 1
60
+
61
+ Metric:
62
+ name: DetMetric
63
+ main_indicator: hmean
64
+
65
+ Train:
66
+ dataset:
67
+ name: SimpleDataSet
68
+ data_dir: ./train_data/icdar2015/text_localization/
69
+ label_file_list:
70
+ - ./train_data/icdar2015/text_localization/train_icdar2015_label.txt
71
+ ratio_list: [ 1.0 ]
72
+ transforms:
73
+ - DecodeImage: # load image
74
+ img_mode: BGR
75
+ channel_first: False
76
+ - DetLabelEncode: # Class handling label
77
+ - ColorJitter:
78
+ brightness: 0.12549019607843137
79
+ saturation: 0.5
80
+ - IaaAugment:
81
+ augmenter_args:
82
+ - { 'type': Resize, 'args': { 'size': [ 0.5, 3 ] } }
83
+ - { 'type': Fliplr, 'args': { 'p': 0.5 } }
84
+ - { 'type': Affine, 'args': { 'rotate': [ -10, 10 ] } }
85
+ - MakePseGt:
86
+ kernel_num: 7
87
+ min_shrink_ratio: 0.4
88
+ size: 640
89
+ - RandomCropImgMask:
90
+ size: [ 640,640 ]
91
+ main_key: gt_text
92
+ crop_keys: [ 'image', 'gt_text', 'gt_kernels', 'mask' ]
93
+ - NormalizeImage:
94
+ scale: 1./255.
95
+ mean: [ 0.485, 0.456, 0.406 ]
96
+ std: [ 0.229, 0.224, 0.225 ]
97
+ order: 'hwc'
98
+ - ToCHWImage:
99
+ - KeepKeys:
100
+ keep_keys: [ 'image', 'gt_text', 'gt_kernels', 'mask' ] # the order of the dataloader list
101
+ loader:
102
+ shuffle: True
103
+ drop_last: False
104
+ batch_size_per_card: 8
105
+ num_workers: 8
106
+
107
+ Eval:
108
+ dataset:
109
+ name: SimpleDataSet
110
+ data_dir: ./train_data/icdar2015/text_localization/
111
+ label_file_list:
112
+ - ./train_data/icdar2015/text_localization/test_icdar2015_label.txt
113
+ ratio_list: [ 1.0 ]
114
+ transforms:
115
+ - DecodeImage: # load image
116
+ img_mode: BGR
117
+ channel_first: False
118
+ - DetLabelEncode: # Class handling label
119
+ - DetResizeForTest:
120
+ limit_side_len: 736
121
+ limit_type: min
122
+ - NormalizeImage:
123
+ scale: 1./255.
124
+ mean: [ 0.485, 0.456, 0.406 ]
125
+ std: [ 0.229, 0.224, 0.225 ]
126
+ order: 'hwc'
127
+ - ToCHWImage:
128
+ - KeepKeys:
129
+ keep_keys: [ 'image', 'shape', 'polys', 'ignore_tags' ]
130
+ loader:
131
+ shuffle: False
132
+ drop_last: False
133
+ batch_size_per_card: 1 # must be 1
134
+ num_workers: 8
PaddleOCR2Pytorch/configs/det/det_r50_vd_sast_icdar15.yml ADDED
@@ -0,0 +1,110 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ use_gpu: true
3
+ epoch_num: 5000
4
+ log_smooth_window: 20
5
+ print_batch_step: 2
6
+ save_model_dir: ./output/sast_r50_vd_ic15/
7
+ save_epoch_step: 1000
8
+ # evaluation is run every 5000 iterations after the 4000th iteration
9
+ eval_batch_step: [4000, 5000]
10
+ # if pretrained_model is saved in static mode, load_static_weights must set to True
11
+ load_static_weights: True
12
+ cal_metric_during_train: False
13
+ pretrained_model: ./pretrain_models/ResNet50_vd_ssld_pretrained/
14
+ checkpoints:
15
+ save_inference_dir:
16
+ use_visualdl: False
17
+ infer_img:
18
+ save_res_path: ./output/sast_r50_vd_ic15/predicts_sast.txt
19
+
20
+ Architecture:
21
+ model_type: det
22
+ algorithm: SAST
23
+ Transform:
24
+ Backbone:
25
+ name: ResNet_SAST
26
+ layers: 50
27
+ Neck:
28
+ name: SASTFPN
29
+ with_cab: True
30
+ Head:
31
+ name: SASTHead
32
+
33
+ Loss:
34
+ name: SASTLoss
35
+
36
+ Optimizer:
37
+ name: Adam
38
+ beta1: 0.9
39
+ beta2: 0.999
40
+ lr:
41
+ # name: Cosine
42
+ learning_rate: 0.001
43
+ # warmup_epoch: 0
44
+ regularizer:
45
+ name: 'L2'
46
+ factor: 0
47
+
48
+ PostProcess:
49
+ name: SASTPostProcess
50
+ score_thresh: 0.5
51
+ sample_pts_num: 2
52
+ nms_thresh: 0.2
53
+ expand_scale: 1.0
54
+ shrink_ratio_of_width: 0.3
55
+
56
+ Metric:
57
+ name: DetMetric
58
+ main_indicator: hmean
59
+
60
+ Train:
61
+ dataset:
62
+ name: SimpleDataSet
63
+ data_dir: ./train_data/
64
+ label_file_list: [./train_data/icdar2013/train_label_json.txt, ./train_data/icdar2015/train_label_json.txt, ./train_data/icdar17_mlt_latin/train_label_json.txt, ./train_data/coco_text_icdar_4pts/train_label_json.txt]
65
+ ratio_list: [0.1, 0.45, 0.3, 0.15]
66
+ transforms:
67
+ - DecodeImage: # load image
68
+ img_mode: BGR
69
+ channel_first: False
70
+ - DetLabelEncode: # Class handling label
71
+ - SASTProcessTrain:
72
+ image_shape: [512, 512]
73
+ min_crop_side_ratio: 0.3
74
+ min_crop_size: 24
75
+ min_text_size: 4
76
+ max_text_size: 512
77
+ - KeepKeys:
78
+ keep_keys: ['image', 'score_map', 'border_map', 'training_mask', 'tvo_map', 'tco_map'] # dataloader will return list in this order
79
+ loader:
80
+ shuffle: True
81
+ drop_last: False
82
+ batch_size_per_card: 4
83
+ num_workers: 4
84
+
85
+ Eval:
86
+ dataset:
87
+ name: SimpleDataSet
88
+ data_dir: ./train_data/icdar2015/text_localization/
89
+ label_file_list:
90
+ - ./train_data/icdar2015/text_localization/test_icdar2015_label.txt
91
+ transforms:
92
+ - DecodeImage: # load image
93
+ img_mode: BGR
94
+ channel_first: False
95
+ - DetLabelEncode: # Class handling label
96
+ - DetResizeForTest:
97
+ resize_long: 1536
98
+ - NormalizeImage:
99
+ scale: 1./255.
100
+ mean: [0.485, 0.456, 0.406]
101
+ std: [0.229, 0.224, 0.225]
102
+ order: 'hwc'
103
+ - ToCHWImage:
104
+ - KeepKeys:
105
+ keep_keys: ['image', 'shape', 'polys', 'ignore_tags']
106
+ loader:
107
+ shuffle: False
108
+ drop_last: False
109
+ batch_size_per_card: 1 # must be 1
110
+ num_workers: 2
PaddleOCR2Pytorch/configs/det/det_r50_vd_sast_totaltext.yml ADDED
@@ -0,0 +1,110 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ use_gpu: true
3
+ epoch_num: 5000
4
+ log_smooth_window: 20
5
+ print_batch_step: 2
6
+ save_model_dir: ./output/sast_r50_vd_tt/
7
+ save_epoch_step: 1000
8
+ # evaluation is run every 5000 iterations after the 4000th iteration
9
+ eval_batch_step: [4000, 5000]
10
+ # if pretrained_model is saved in static mode, load_static_weights must set to True
11
+ load_static_weights: True
12
+ cal_metric_during_train: False
13
+ pretrained_model: ./pretrain_models/ResNet50_vd_ssld_pretrained/
14
+ checkpoints:
15
+ save_inference_dir:
16
+ use_visualdl: False
17
+ infer_img:
18
+ save_res_path: ./output/sast_r50_vd_tt/predicts_sast.txt
19
+
20
+ Architecture:
21
+ model_type: det
22
+ algorithm: SAST
23
+ Transform:
24
+ Backbone:
25
+ name: ResNet_SAST
26
+ layers: 50
27
+ Neck:
28
+ name: SASTFPN
29
+ with_cab: True
30
+ Head:
31
+ name: SASTHead
32
+
33
+ Loss:
34
+ name: SASTLoss
35
+
36
+ Optimizer:
37
+ name: Adam
38
+ beta1: 0.9
39
+ beta2: 0.999
40
+ lr:
41
+ # name: Cosine
42
+ learning_rate: 0.001
43
+ # warmup_epoch: 0
44
+ regularizer:
45
+ name: 'L2'
46
+ factor: 0
47
+
48
+ PostProcess:
49
+ name: SASTPostProcess
50
+ score_thresh: 0.5
51
+ sample_pts_num: 6
52
+ nms_thresh: 0.2
53
+ expand_scale: 1.2
54
+ shrink_ratio_of_width: 0.2
55
+
56
+ Metric:
57
+ name: DetMetric
58
+ main_indicator: hmean
59
+
60
+ Train:
61
+ dataset:
62
+ name: SimpleDataSet
63
+ data_dir: ./train_data/
64
+ label_file_list: [./train_data/art_latin_icdar_14pt/train_no_tt_test/train_label_json.txt, ./train_data/total_text_icdar_14pt/train_label_json.txt]
65
+ ratio_list: [0.5, 0.5]
66
+ transforms:
67
+ - DecodeImage: # load image
68
+ img_mode: BGR
69
+ channel_first: False
70
+ - DetLabelEncode: # Class handling label
71
+ - SASTProcessTrain:
72
+ image_shape: [512, 512]
73
+ min_crop_side_ratio: 0.3
74
+ min_crop_size: 24
75
+ min_text_size: 4
76
+ max_text_size: 512
77
+ - KeepKeys:
78
+ keep_keys: ['image', 'score_map', 'border_map', 'training_mask', 'tvo_map', 'tco_map'] # dataloader will return list in this order
79
+ loader:
80
+ shuffle: True
81
+ drop_last: False
82
+ batch_size_per_card: 4
83
+ num_workers: 4
84
+
85
+ Eval:
86
+ dataset:
87
+ name: SimpleDataSet
88
+ data_dir: ./train_data/
89
+ label_file_list:
90
+ - ./train_data/total_text_icdar_14pt/test_label_json.txt
91
+ transforms:
92
+ - DecodeImage: # load image
93
+ img_mode: BGR
94
+ channel_first: False
95
+ - DetLabelEncode: # Class handling label
96
+ - DetResizeForTest:
97
+ resize_long: 768
98
+ - NormalizeImage:
99
+ scale: 1./255.
100
+ mean: [0.485, 0.456, 0.406]
101
+ std: [0.229, 0.224, 0.225]
102
+ order: 'hwc'
103
+ - ToCHWImage:
104
+ - KeepKeys:
105
+ keep_keys: ['image', 'shape', 'polys', 'ignore_tags']
106
+ loader:
107
+ shuffle: False
108
+ drop_last: False
109
+ batch_size_per_card: 1 # must be 1
110
+ num_workers: 2
PaddleOCR2Pytorch/configs/e2e/e2e_r50_vd_pg.yml ADDED
@@ -0,0 +1,114 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ use_gpu: True
3
+ epoch_num: 600
4
+ log_smooth_window: 20
5
+ print_batch_step: 10
6
+ save_model_dir: ./output/pgnet_r50_vd_totaltext/
7
+ save_epoch_step: 10
8
+ # evaluation is run every 0 iterationss after the 1000th iteration
9
+ eval_batch_step: [ 0, 1000 ]
10
+ # 1. If pretrained_model is saved in static mode, such as classification pretrained model
11
+ # from static branch, load_static_weights must be set as True.
12
+ # 2. If you want to finetune the pretrained models we provide in the docs,
13
+ # you should set load_static_weights as False.
14
+ load_static_weights: False
15
+ cal_metric_during_train: False
16
+ pretrained_model:
17
+ checkpoints:
18
+ save_inference_dir:
19
+ use_visualdl: False
20
+ infer_img:
21
+ valid_set: totaltext # two mode: totaltext valid curved words, partvgg valid non-curved words
22
+ save_res_path: ./output/pgnet_r50_vd_totaltext/predicts_pgnet.txt
23
+ character_dict_path: ppocr/utils/ic15_dict.txt
24
+ character_type: EN
25
+ max_text_length: 50 # the max length in seq
26
+ max_text_nums: 30 # the max seq nums in a pic
27
+ tcl_len: 64
28
+
29
+ Architecture:
30
+ model_type: e2e
31
+ algorithm: PGNet
32
+ Transform:
33
+ Backbone:
34
+ name: ResNet
35
+ layers: 50
36
+ Neck:
37
+ name: PGFPN
38
+ Head:
39
+ name: PGHead
40
+
41
+ Loss:
42
+ name: PGLoss
43
+ tcl_bs: 64
44
+ max_text_length: 50 # the same as Global: max_text_length
45
+ max_text_nums: 30 # the same as Global:max_text_nums
46
+ pad_num: 36 # the length of dict for pad
47
+
48
+ Optimizer:
49
+ name: Adam
50
+ beta1: 0.9
51
+ beta2: 0.999
52
+ lr:
53
+ learning_rate: 0.001
54
+ regularizer:
55
+ name: 'L2'
56
+ factor: 0
57
+
58
+
59
+ PostProcess:
60
+ name: PGPostProcess
61
+ score_thresh: 0.5
62
+ Metric:
63
+ name: E2EMetric
64
+ character_dict_path: ppocr/utils/ic15_dict.txt
65
+ main_indicator: f_score_e2e
66
+
67
+ Train:
68
+ dataset:
69
+ name: PGDataSet
70
+ label_file_list: [.././train_data/total_text/train/]
71
+ ratio_list: [1.0]
72
+ data_format: icdar #two data format: icdar/textnet
73
+ transforms:
74
+ - DecodeImage: # load image
75
+ img_mode: BGR
76
+ channel_first: False
77
+ - PGProcessTrain:
78
+ batch_size: 14 # same as loader: batch_size_per_card
79
+ min_crop_size: 24
80
+ min_text_size: 4
81
+ max_text_size: 512
82
+ - KeepKeys:
83
+ keep_keys: [ 'images', 'tcl_maps', 'tcl_label_maps', 'border_maps','direction_maps', 'training_masks', 'label_list', 'pos_list', 'pos_mask' ] # dataloader will return list in this order
84
+ loader:
85
+ shuffle: True
86
+ drop_last: True
87
+ batch_size_per_card: 14
88
+ num_workers: 16
89
+
90
+ Eval:
91
+ dataset:
92
+ name: PGDataSet
93
+ data_dir: ./train_data/
94
+ label_file_list: [./train_data/total_text/test/]
95
+ transforms:
96
+ - DecodeImage: # load image
97
+ img_mode: RGB
98
+ channel_first: False
99
+ - E2ELabelEncode:
100
+ - E2EResizeForTest:
101
+ max_side_len: 768
102
+ - NormalizeImage:
103
+ scale: 1./255.
104
+ mean: [ 0.485, 0.456, 0.406 ]
105
+ std: [ 0.229, 0.224, 0.225 ]
106
+ order: 'hwc'
107
+ - ToCHWImage:
108
+ - KeepKeys:
109
+ keep_keys: [ 'image', 'shape', 'polys', 'strs', 'tags' ]
110
+ loader:
111
+ shuffle: False
112
+ drop_last: False
113
+ batch_size_per_card: 1 # must be 1
114
+ num_workers: 2
PaddleOCR2Pytorch/configs/rec/PP-OCRv3/ch_PP-OCRv3_rec.yml ADDED
@@ -0,0 +1,126 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ debug: false
3
+ use_gpu: true
4
+ epoch_num: 500
5
+ log_smooth_window: 20
6
+ print_batch_step: 10
7
+ save_model_dir: ./output/rec_ppocr_v3
8
+ save_epoch_step: 3
9
+ eval_batch_step: [0, 2000]
10
+ cal_metric_during_train: true
11
+ pretrained_model:
12
+ checkpoints:
13
+ save_inference_dir:
14
+ use_visualdl: false
15
+ infer_img: doc/imgs_words/ch/word_1.jpg
16
+ character_dict_path: ppocr/utils/ppocr_keys_v1.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_ppocrv3.txt
22
+
23
+
24
+ Optimizer:
25
+ name: Adam
26
+ beta1: 0.9
27
+ beta2: 0.999
28
+ lr:
29
+ name: Cosine
30
+ learning_rate: 0.001
31
+ warmup_epoch: 5
32
+ regularizer:
33
+ name: L2
34
+ factor: 3.0e-05
35
+
36
+
37
+ Architecture:
38
+ model_type: rec
39
+ algorithm: SVTR
40
+ Transform:
41
+ Backbone:
42
+ name: MobileNetV1Enhance
43
+ scale: 0.5
44
+ last_conv_stride: [1, 2]
45
+ last_pool_type: avg
46
+ Neck:
47
+ name: SequenceEncoder
48
+ encoder_type: svtr
49
+ dims: 64
50
+ depth: 2
51
+ hidden_dims: 120
52
+ use_guide: True
53
+ Head:
54
+ name: CTCHead
55
+ fc_decay: 0.00001
56
+
57
+ Loss:
58
+ name: MultiLoss
59
+ loss_config_list:
60
+ - CTCLoss:
61
+ - SARLoss:
62
+
63
+ PostProcess:
64
+ name: CTCLabelDecode
65
+
66
+ Metric:
67
+ name: RecMetric
68
+ main_indicator: acc
69
+ ignore_space: False
70
+
71
+ Train:
72
+ dataset:
73
+ name: SimpleDataSet
74
+ data_dir: ./train_data/
75
+ ext_op_transform_idx: 1
76
+ label_file_list:
77
+ - ./train_data/train_list.txt
78
+ transforms:
79
+ - DecodeImage:
80
+ img_mode: BGR
81
+ channel_first: false
82
+ - RecConAug:
83
+ prob: 0.5
84
+ ext_data_num: 2
85
+ image_shape: [48, 320, 3]
86
+ - RecAug:
87
+ - MultiLabelEncode:
88
+ - RecResizeImg:
89
+ image_shape: [3, 48, 320]
90
+ - KeepKeys:
91
+ keep_keys:
92
+ - image
93
+ - label_ctc
94
+ - label_sar
95
+ - length
96
+ - valid_ratio
97
+ loader:
98
+ shuffle: true
99
+ batch_size_per_card: 128
100
+ drop_last: true
101
+ num_workers: 4
102
+ Eval:
103
+ dataset:
104
+ name: SimpleDataSet
105
+ data_dir: ./train_data
106
+ label_file_list:
107
+ - ./train_data/val_list.txt
108
+ transforms:
109
+ - DecodeImage:
110
+ img_mode: BGR
111
+ channel_first: false
112
+ - MultiLabelEncode:
113
+ - RecResizeImg:
114
+ image_shape: [3, 48, 320]
115
+ - KeepKeys:
116
+ keep_keys:
117
+ - image
118
+ - label_ctc
119
+ - label_sar
120
+ - length
121
+ - valid_ratio
122
+ loader:
123
+ shuffle: false
124
+ drop_last: false
125
+ batch_size_per_card: 128
126
+ num_workers: 4
PaddleOCR2Pytorch/configs/rec/PP-OCRv3/ch_PP-OCRv3_rec_distillation.yml ADDED
@@ -0,0 +1,205 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ debug: false
3
+ use_gpu: true
4
+ epoch_num: 800
5
+ log_smooth_window: 20
6
+ print_batch_step: 10
7
+ save_model_dir: ./output/rec_ppocr_v3_distillation
8
+ save_epoch_step: 3
9
+ eval_batch_step: [0, 2000]
10
+ cal_metric_during_train: true
11
+ pretrained_model:
12
+ checkpoints:
13
+ save_inference_dir:
14
+ use_visualdl: false
15
+ infer_img: doc/imgs_words/ch/word_1.jpg
16
+ character_dict_path: ppocr/utils/ppocr_keys_v1.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_ppocrv3_distillation.txt
22
+
23
+
24
+ Optimizer:
25
+ name: Adam
26
+ beta1: 0.9
27
+ beta2: 0.999
28
+ lr:
29
+ name: Piecewise
30
+ decay_epochs : [700, 800]
31
+ values : [0.0005, 0.00005]
32
+ warmup_epoch: 5
33
+ regularizer:
34
+ name: L2
35
+ factor: 3.0e-05
36
+
37
+
38
+ Architecture:
39
+ model_type: &model_type "rec"
40
+ name: DistillationModel
41
+ algorithm: Distillation
42
+ Models:
43
+ Teacher:
44
+ pretrained:
45
+ freeze_params: false
46
+ return_all_feats: true
47
+ model_type: *model_type
48
+ algorithm: SVTR
49
+ Transform:
50
+ Backbone:
51
+ name: MobileNetV1Enhance
52
+ scale: 0.5
53
+ last_conv_stride: [1, 2]
54
+ last_pool_type: avg
55
+ Head:
56
+ name: MultiHead
57
+ head_list:
58
+ - CTCHead:
59
+ Neck:
60
+ name: svtr
61
+ dims: 64
62
+ depth: 2
63
+ hidden_dims: 120
64
+ use_guide: True
65
+ Head:
66
+ fc_decay: 0.00001
67
+ - SARHead:
68
+ enc_dim: 512
69
+ max_text_length: *max_text_length
70
+ Student:
71
+ pretrained:
72
+ freeze_params: false
73
+ return_all_feats: true
74
+ model_type: *model_type
75
+ algorithm: SVTR
76
+ Transform:
77
+ Backbone:
78
+ name: MobileNetV1Enhance
79
+ scale: 0.5
80
+ last_conv_stride: [1, 2]
81
+ last_pool_type: avg
82
+ Head:
83
+ name: MultiHead
84
+ head_list:
85
+ - CTCHead:
86
+ Neck:
87
+ name: svtr
88
+ dims: 64
89
+ depth: 2
90
+ hidden_dims: 120
91
+ use_guide: True
92
+ Head:
93
+ fc_decay: 0.00001
94
+ - SARHead:
95
+ enc_dim: 512
96
+ max_text_length: *max_text_length
97
+ Loss:
98
+ name: CombinedLoss
99
+ loss_config_list:
100
+ - DistillationDMLLoss:
101
+ weight: 1.0
102
+ act: "softmax"
103
+ use_log: true
104
+ model_name_pairs:
105
+ - ["Student", "Teacher"]
106
+ key: head_out
107
+ multi_head: True
108
+ dis_head: ctc
109
+ name: dml_ctc
110
+ - DistillationDMLLoss:
111
+ weight: 0.5
112
+ act: "softmax"
113
+ use_log: true
114
+ model_name_pairs:
115
+ - ["Student", "Teacher"]
116
+ key: head_out
117
+ multi_head: True
118
+ dis_head: sar
119
+ name: dml_sar
120
+ - DistillationDistanceLoss:
121
+ weight: 1.0
122
+ mode: "l2"
123
+ model_name_pairs:
124
+ - ["Student", "Teacher"]
125
+ key: backbone_out
126
+ - DistillationCTCLoss:
127
+ weight: 1.0
128
+ model_name_list: ["Student", "Teacher"]
129
+ key: head_out
130
+ multi_head: True
131
+ - DistillationSARLoss:
132
+ weight: 1.0
133
+ model_name_list: ["Student", "Teacher"]
134
+ key: head_out
135
+ multi_head: True
136
+
137
+ PostProcess:
138
+ name: DistillationCTCLabelDecode
139
+ model_name: ["Student", "Teacher"]
140
+ key: head_out
141
+ multi_head: True
142
+
143
+ Metric:
144
+ name: DistillationMetric
145
+ base_metric_name: RecMetric
146
+ main_indicator: acc
147
+ key: "Student"
148
+ ignore_space: False
149
+
150
+ Train:
151
+ dataset:
152
+ name: SimpleDataSet
153
+ data_dir: ./train_data/
154
+ ext_op_transform_idx: 1
155
+ label_file_list:
156
+ - ./train_data/train_list.txt
157
+ transforms:
158
+ - DecodeImage:
159
+ img_mode: BGR
160
+ channel_first: false
161
+ - RecConAug:
162
+ prob: 0.5
163
+ ext_data_num: 2
164
+ image_shape: [48, 320, 3]
165
+ - RecAug:
166
+ - MultiLabelEncode:
167
+ - RecResizeImg:
168
+ image_shape: [3, 48, 320]
169
+ - KeepKeys:
170
+ keep_keys:
171
+ - image
172
+ - label_ctc
173
+ - label_sar
174
+ - length
175
+ - valid_ratio
176
+ loader:
177
+ shuffle: true
178
+ batch_size_per_card: 128
179
+ drop_last: true
180
+ num_workers: 4
181
+ Eval:
182
+ dataset:
183
+ name: SimpleDataSet
184
+ data_dir: ./train_data
185
+ label_file_list:
186
+ - ./train_data/val_list.txt
187
+ transforms:
188
+ - DecodeImage:
189
+ img_mode: BGR
190
+ channel_first: false
191
+ - MultiLabelEncode:
192
+ - RecResizeImg:
193
+ image_shape: [3, 48, 320]
194
+ - KeepKeys:
195
+ keep_keys:
196
+ - image
197
+ - label_ctc
198
+ - label_sar
199
+ - length
200
+ - valid_ratio
201
+ loader:
202
+ shuffle: false
203
+ drop_last: false
204
+ batch_size_per_card: 128
205
+ num_workers: 4
PaddleOCR2Pytorch/configs/rec/PP-OCRv3/en_PP-OCRv3_rec.yml ADDED
@@ -0,0 +1,126 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ debug: false
3
+ use_gpu: true
4
+ epoch_num: 500
5
+ log_smooth_window: 20
6
+ print_batch_step: 10
7
+ save_model_dir: ./output/v3_en_mobile
8
+ save_epoch_step: 3
9
+ eval_batch_step: [0, 2000]
10
+ cal_metric_during_train: true
11
+ pretrained_model:
12
+ checkpoints:
13
+ save_inference_dir:
14
+ use_visualdl: false
15
+ infer_img: doc/imgs_words/ch/word_1.jpg
16
+ character_dict_path: ppocr/utils/en_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_ppocrv3_en.txt
22
+
23
+
24
+ Optimizer:
25
+ name: Adam
26
+ beta1: 0.9
27
+ beta2: 0.999
28
+ lr:
29
+ name: Cosine
30
+ learning_rate: 0.001
31
+ warmup_epoch: 5
32
+ regularizer:
33
+ name: L2
34
+ factor: 3.0e-05
35
+
36
+
37
+ Architecture:
38
+ model_type: rec
39
+ algorithm: SVTR
40
+ Transform:
41
+ Backbone:
42
+ name: MobileNetV1Enhance
43
+ scale: 0.5
44
+ last_conv_stride: [1, 2]
45
+ last_pool_type: avg
46
+ Neck:
47
+ name: SequenceEncoder
48
+ encoder_type: svtr
49
+ dims: 64
50
+ depth: 2
51
+ hidden_dims: 120
52
+ use_guide: True
53
+ Head:
54
+ name: CTCHead
55
+ fc_decay: 0.00001
56
+
57
+ Loss:
58
+ name: MultiLoss
59
+ loss_config_list:
60
+ - CTCLoss:
61
+ - SARLoss:
62
+
63
+ PostProcess:
64
+ name: CTCLabelDecode
65
+
66
+ Metric:
67
+ name: RecMetric
68
+ main_indicator: acc
69
+ ignore_space: False
70
+
71
+ Train:
72
+ dataset:
73
+ name: SimpleDataSet
74
+ data_dir: ./train_data/
75
+ ext_op_transform_idx: 1
76
+ label_file_list:
77
+ - ./train_data/train_list.txt
78
+ transforms:
79
+ - DecodeImage:
80
+ img_mode: BGR
81
+ channel_first: false
82
+ - RecConAug:
83
+ prob: 0.5
84
+ ext_data_num: 2
85
+ image_shape: [48, 320, 3]
86
+ - RecAug:
87
+ - MultiLabelEncode:
88
+ - RecResizeImg:
89
+ image_shape: [3, 48, 320]
90
+ - KeepKeys:
91
+ keep_keys:
92
+ - image
93
+ - label_ctc
94
+ - label_sar
95
+ - length
96
+ - valid_ratio
97
+ loader:
98
+ shuffle: true
99
+ batch_size_per_card: 128
100
+ drop_last: true
101
+ num_workers: 4
102
+ Eval:
103
+ dataset:
104
+ name: SimpleDataSet
105
+ data_dir: ./train_data
106
+ label_file_list:
107
+ - ./train_data/val_list.txt
108
+ transforms:
109
+ - DecodeImage:
110
+ img_mode: BGR
111
+ channel_first: false
112
+ - MultiLabelEncode:
113
+ - RecResizeImg:
114
+ image_shape: [3, 48, 320]
115
+ - KeepKeys:
116
+ keep_keys:
117
+ - image
118
+ - label_ctc
119
+ - label_sar
120
+ - length
121
+ - valid_ratio
122
+ loader:
123
+ shuffle: false
124
+ drop_last: false
125
+ batch_size_per_card: 128
126
+ num_workers: 4
PaddleOCR2Pytorch/configs/rec/PP-OCRv3/multi_language/.gitkeep ADDED
File without changes
PaddleOCR2Pytorch/configs/rec/PP-OCRv3/multi_language/arabic_PP-OCRv3_rec.yml ADDED
@@ -0,0 +1,126 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ debug: false
3
+ use_gpu: true
4
+ epoch_num: 500
5
+ log_smooth_window: 20
6
+ print_batch_step: 10
7
+ save_model_dir: ./output/v3_arabic_mobile
8
+ save_epoch_step: 3
9
+ eval_batch_step: [0, 2000]
10
+ cal_metric_during_train: true
11
+ pretrained_model:
12
+ checkpoints:
13
+ save_inference_dir:
14
+ use_visualdl: false
15
+ infer_img: doc/imgs_words/ch/word_1.jpg
16
+ character_dict_path: ppocr/utils/dict/arabic_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_ppocrv3_arabic.txt
22
+
23
+
24
+ Optimizer:
25
+ name: Adam
26
+ beta1: 0.9
27
+ beta2: 0.999
28
+ lr:
29
+ name: Cosine
30
+ learning_rate: 0.001
31
+ warmup_epoch: 5
32
+ regularizer:
33
+ name: L2
34
+ factor: 3.0e-05
35
+
36
+
37
+ Architecture:
38
+ model_type: rec
39
+ algorithm: SVTR
40
+ Transform:
41
+ Backbone:
42
+ name: MobileNetV1Enhance
43
+ scale: 0.5
44
+ last_conv_stride: [1, 2]
45
+ last_pool_type: avg
46
+ Neck:
47
+ name: SequenceEncoder
48
+ encoder_type: svtr
49
+ dims: 64
50
+ depth: 2
51
+ hidden_dims: 120
52
+ use_guide: True
53
+ Head:
54
+ name: CTCHead
55
+ fc_decay: 0.00001
56
+
57
+ Loss:
58
+ name: MultiLoss
59
+ loss_config_list:
60
+ - CTCLoss:
61
+ - SARLoss:
62
+
63
+ PostProcess:
64
+ name: CTCLabelDecode
65
+
66
+ Metric:
67
+ name: RecMetric
68
+ main_indicator: acc
69
+ ignore_space: False
70
+
71
+ Train:
72
+ dataset:
73
+ name: SimpleDataSet
74
+ data_dir: ./train_data/
75
+ ext_op_transform_idx: 1
76
+ label_file_list:
77
+ - ./train_data/train_list.txt
78
+ transforms:
79
+ - DecodeImage:
80
+ img_mode: BGR
81
+ channel_first: false
82
+ - RecConAug:
83
+ prob: 0.5
84
+ ext_data_num: 2
85
+ image_shape: [48, 320, 3]
86
+ - RecAug:
87
+ - MultiLabelEncode:
88
+ - RecResizeImg:
89
+ image_shape: [3, 48, 320]
90
+ - KeepKeys:
91
+ keep_keys:
92
+ - image
93
+ - label_ctc
94
+ - label_sar
95
+ - length
96
+ - valid_ratio
97
+ loader:
98
+ shuffle: true
99
+ batch_size_per_card: 128
100
+ drop_last: true
101
+ num_workers: 4
102
+ Eval:
103
+ dataset:
104
+ name: SimpleDataSet
105
+ data_dir: ./train_data
106
+ label_file_list:
107
+ - ./train_data/val_list.txt
108
+ transforms:
109
+ - DecodeImage:
110
+ img_mode: BGR
111
+ channel_first: false
112
+ - MultiLabelEncode:
113
+ - RecResizeImg:
114
+ image_shape: [3, 48, 320]
115
+ - KeepKeys:
116
+ keep_keys:
117
+ - image
118
+ - label_ctc
119
+ - label_sar
120
+ - length
121
+ - valid_ratio
122
+ loader:
123
+ shuffle: false
124
+ drop_last: false
125
+ batch_size_per_card: 128
126
+ num_workers: 4
PaddleOCR2Pytorch/configs/rec/PP-OCRv3/multi_language/chinese_cht_PP-OCRv3_rec.yml ADDED
@@ -0,0 +1,126 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ debug: false
3
+ use_gpu: true
4
+ epoch_num: 500
5
+ log_smooth_window: 20
6
+ print_batch_step: 10
7
+ save_model_dir: ./output/v3_chinese_cht_mobile
8
+ save_epoch_step: 3
9
+ eval_batch_step: [0, 2000]
10
+ cal_metric_during_train: true
11
+ pretrained_model:
12
+ checkpoints:
13
+ save_inference_dir:
14
+ use_visualdl: false
15
+ infer_img: doc/imgs_words/ch/word_1.jpg
16
+ character_dict_path: ppocr/utils/dict/chinese_cht_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_ppocrv3_chinese_cht.txt
22
+
23
+
24
+ Optimizer:
25
+ name: Adam
26
+ beta1: 0.9
27
+ beta2: 0.999
28
+ lr:
29
+ name: Cosine
30
+ learning_rate: 0.001
31
+ warmup_epoch: 5
32
+ regularizer:
33
+ name: L2
34
+ factor: 3.0e-05
35
+
36
+
37
+ Architecture:
38
+ model_type: rec
39
+ algorithm: SVTR
40
+ Transform:
41
+ Backbone:
42
+ name: MobileNetV1Enhance
43
+ scale: 0.5
44
+ last_conv_stride: [1, 2]
45
+ last_pool_type: avg
46
+ Neck:
47
+ name: SequenceEncoder
48
+ encoder_type: svtr
49
+ dims: 64
50
+ depth: 2
51
+ hidden_dims: 120
52
+ use_guide: True
53
+ Head:
54
+ name: CTCHead
55
+ fc_decay: 0.00001
56
+
57
+ Loss:
58
+ name: MultiLoss
59
+ loss_config_list:
60
+ - CTCLoss:
61
+ - SARLoss:
62
+
63
+ PostProcess:
64
+ name: CTCLabelDecode
65
+
66
+ Metric:
67
+ name: RecMetric
68
+ main_indicator: acc
69
+ ignore_space: False
70
+
71
+ Train:
72
+ dataset:
73
+ name: SimpleDataSet
74
+ data_dir: ./train_data/
75
+ ext_op_transform_idx: 1
76
+ label_file_list:
77
+ - ./train_data/train_list.txt
78
+ transforms:
79
+ - DecodeImage:
80
+ img_mode: BGR
81
+ channel_first: false
82
+ - RecConAug:
83
+ prob: 0.5
84
+ ext_data_num: 2
85
+ image_shape: [48, 320, 3]
86
+ - RecAug:
87
+ - MultiLabelEncode:
88
+ - RecResizeImg:
89
+ image_shape: [3, 48, 320]
90
+ - KeepKeys:
91
+ keep_keys:
92
+ - image
93
+ - label_ctc
94
+ - label_sar
95
+ - length
96
+ - valid_ratio
97
+ loader:
98
+ shuffle: true
99
+ batch_size_per_card: 128
100
+ drop_last: true
101
+ num_workers: 4
102
+ Eval:
103
+ dataset:
104
+ name: SimpleDataSet
105
+ data_dir: ./train_data
106
+ label_file_list:
107
+ - ./train_data/val_list.txt
108
+ transforms:
109
+ - DecodeImage:
110
+ img_mode: BGR
111
+ channel_first: false
112
+ - MultiLabelEncode:
113
+ - RecResizeImg:
114
+ image_shape: [3, 48, 320]
115
+ - KeepKeys:
116
+ keep_keys:
117
+ - image
118
+ - label_ctc
119
+ - label_sar
120
+ - length
121
+ - valid_ratio
122
+ loader:
123
+ shuffle: false
124
+ drop_last: false
125
+ batch_size_per_card: 128
126
+ num_workers: 4
PaddleOCR2Pytorch/configs/rec/PP-OCRv3/multi_language/cyrillic_PP-OCRv3_rec.yml ADDED
@@ -0,0 +1,126 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ debug: false
3
+ use_gpu: true
4
+ epoch_num: 500
5
+ log_smooth_window: 20
6
+ print_batch_step: 10
7
+ save_model_dir: ./output/v3_cyrillic_mobile
8
+ save_epoch_step: 3
9
+ eval_batch_step: [0, 2000]
10
+ cal_metric_during_train: true
11
+ pretrained_model:
12
+ checkpoints:
13
+ save_inference_dir:
14
+ use_visualdl: false
15
+ infer_img: doc/imgs_words/ch/word_1.jpg
16
+ character_dict_path: ppocr/utils/dict/cyrillic_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_ppocrv3_cyrillic.txt
22
+
23
+
24
+ Optimizer:
25
+ name: Adam
26
+ beta1: 0.9
27
+ beta2: 0.999
28
+ lr:
29
+ name: Cosine
30
+ learning_rate: 0.001
31
+ warmup_epoch: 5
32
+ regularizer:
33
+ name: L2
34
+ factor: 3.0e-05
35
+
36
+
37
+ Architecture:
38
+ model_type: rec
39
+ algorithm: SVTR
40
+ Transform:
41
+ Backbone:
42
+ name: MobileNetV1Enhance
43
+ scale: 0.5
44
+ last_conv_stride: [1, 2]
45
+ last_pool_type: avg
46
+ Neck:
47
+ name: SequenceEncoder
48
+ encoder_type: svtr
49
+ dims: 64
50
+ depth: 2
51
+ hidden_dims: 120
52
+ use_guide: True
53
+ Head:
54
+ name: CTCHead
55
+ fc_decay: 0.00001
56
+
57
+ Loss:
58
+ name: MultiLoss
59
+ loss_config_list:
60
+ - CTCLoss:
61
+ - SARLoss:
62
+
63
+ PostProcess:
64
+ name: CTCLabelDecode
65
+
66
+ Metric:
67
+ name: RecMetric
68
+ main_indicator: acc
69
+ ignore_space: False
70
+
71
+ Train:
72
+ dataset:
73
+ name: SimpleDataSet
74
+ data_dir: ./train_data/
75
+ ext_op_transform_idx: 1
76
+ label_file_list:
77
+ - ./train_data/train_list.txt
78
+ transforms:
79
+ - DecodeImage:
80
+ img_mode: BGR
81
+ channel_first: false
82
+ - RecConAug:
83
+ prob: 0.5
84
+ ext_data_num: 2
85
+ image_shape: [48, 320, 3]
86
+ - RecAug:
87
+ - MultiLabelEncode:
88
+ - RecResizeImg:
89
+ image_shape: [3, 48, 320]
90
+ - KeepKeys:
91
+ keep_keys:
92
+ - image
93
+ - label_ctc
94
+ - label_sar
95
+ - length
96
+ - valid_ratio
97
+ loader:
98
+ shuffle: true
99
+ batch_size_per_card: 128
100
+ drop_last: true
101
+ num_workers: 4
102
+ Eval:
103
+ dataset:
104
+ name: SimpleDataSet
105
+ data_dir: ./train_data
106
+ label_file_list:
107
+ - ./train_data/val_list.txt
108
+ transforms:
109
+ - DecodeImage:
110
+ img_mode: BGR
111
+ channel_first: false
112
+ - MultiLabelEncode:
113
+ - RecResizeImg:
114
+ image_shape: [3, 48, 320]
115
+ - KeepKeys:
116
+ keep_keys:
117
+ - image
118
+ - label_ctc
119
+ - label_sar
120
+ - length
121
+ - valid_ratio
122
+ loader:
123
+ shuffle: false
124
+ drop_last: false
125
+ batch_size_per_card: 128
126
+ num_workers: 4
PaddleOCR2Pytorch/configs/rec/PP-OCRv3/multi_language/devanagari_PP-OCRv3_rec.yml ADDED
@@ -0,0 +1,126 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ debug: false
3
+ use_gpu: true
4
+ epoch_num: 500
5
+ log_smooth_window: 20
6
+ print_batch_step: 10
7
+ save_model_dir: ./output/v3_devanagari_mobile
8
+ save_epoch_step: 3
9
+ eval_batch_step: [0, 2000]
10
+ cal_metric_during_train: true
11
+ pretrained_model:
12
+ checkpoints:
13
+ save_inference_dir:
14
+ use_visualdl: false
15
+ infer_img: doc/imgs_words/ch/word_1.jpg
16
+ character_dict_path: ppocr/utils/dict/devanagari_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_ppocrv3_devanagari.txt
22
+
23
+
24
+ Optimizer:
25
+ name: Adam
26
+ beta1: 0.9
27
+ beta2: 0.999
28
+ lr:
29
+ name: Cosine
30
+ learning_rate: 0.001
31
+ warmup_epoch: 5
32
+ regularizer:
33
+ name: L2
34
+ factor: 3.0e-05
35
+
36
+
37
+ Architecture:
38
+ model_type: rec
39
+ algorithm: SVTR
40
+ Transform:
41
+ Backbone:
42
+ name: MobileNetV1Enhance
43
+ scale: 0.5
44
+ last_conv_stride: [1, 2]
45
+ last_pool_type: avg
46
+ Neck:
47
+ name: SequenceEncoder
48
+ encoder_type: svtr
49
+ dims: 64
50
+ depth: 2
51
+ hidden_dims: 120
52
+ use_guide: True
53
+ Head:
54
+ name: CTCHead
55
+ fc_decay: 0.00001
56
+
57
+ Loss:
58
+ name: MultiLoss
59
+ loss_config_list:
60
+ - CTCLoss:
61
+ - SARLoss:
62
+
63
+ PostProcess:
64
+ name: CTCLabelDecode
65
+
66
+ Metric:
67
+ name: RecMetric
68
+ main_indicator: acc
69
+ ignore_space: False
70
+
71
+ Train:
72
+ dataset:
73
+ name: SimpleDataSet
74
+ data_dir: ./train_data/
75
+ ext_op_transform_idx: 1
76
+ label_file_list:
77
+ - ./train_data/train_list.txt
78
+ transforms:
79
+ - DecodeImage:
80
+ img_mode: BGR
81
+ channel_first: false
82
+ - RecConAug:
83
+ prob: 0.5
84
+ ext_data_num: 2
85
+ image_shape: [48, 320, 3]
86
+ - RecAug:
87
+ - MultiLabelEncode:
88
+ - RecResizeImg:
89
+ image_shape: [3, 48, 320]
90
+ - KeepKeys:
91
+ keep_keys:
92
+ - image
93
+ - label_ctc
94
+ - label_sar
95
+ - length
96
+ - valid_ratio
97
+ loader:
98
+ shuffle: true
99
+ batch_size_per_card: 128
100
+ drop_last: true
101
+ num_workers: 4
102
+ Eval:
103
+ dataset:
104
+ name: SimpleDataSet
105
+ data_dir: ./train_data
106
+ label_file_list:
107
+ - ./train_data/val_list.txt
108
+ transforms:
109
+ - DecodeImage:
110
+ img_mode: BGR
111
+ channel_first: false
112
+ - MultiLabelEncode:
113
+ - RecResizeImg:
114
+ image_shape: [3, 48, 320]
115
+ - KeepKeys:
116
+ keep_keys:
117
+ - image
118
+ - label_ctc
119
+ - label_sar
120
+ - length
121
+ - valid_ratio
122
+ loader:
123
+ shuffle: false
124
+ drop_last: false
125
+ batch_size_per_card: 128
126
+ num_workers: 4
PaddleOCR2Pytorch/configs/rec/PP-OCRv3/multi_language/japan_PP-OCRv3_rec.yml ADDED
@@ -0,0 +1,126 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ debug: false
3
+ use_gpu: true
4
+ epoch_num: 500
5
+ log_smooth_window: 20
6
+ print_batch_step: 10
7
+ save_model_dir: ./output/v3_japan_mobile
8
+ save_epoch_step: 3
9
+ eval_batch_step: [0, 2000]
10
+ cal_metric_during_train: true
11
+ pretrained_model:
12
+ checkpoints:
13
+ save_inference_dir:
14
+ use_visualdl: false
15
+ infer_img: doc/imgs_words/ch/word_1.jpg
16
+ character_dict_path: ppocr/utils/dict/japan_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_ppocrv3_japan.txt
22
+
23
+
24
+ Optimizer:
25
+ name: Adam
26
+ beta1: 0.9
27
+ beta2: 0.999
28
+ lr:
29
+ name: Cosine
30
+ learning_rate: 0.001
31
+ warmup_epoch: 5
32
+ regularizer:
33
+ name: L2
34
+ factor: 3.0e-05
35
+
36
+
37
+ Architecture:
38
+ model_type: rec
39
+ algorithm: SVTR
40
+ Transform:
41
+ Backbone:
42
+ name: MobileNetV1Enhance
43
+ scale: 0.5
44
+ last_conv_stride: [1, 2]
45
+ last_pool_type: avg
46
+ Neck:
47
+ name: SequenceEncoder
48
+ encoder_type: svtr
49
+ dims: 64
50
+ depth: 2
51
+ hidden_dims: 120
52
+ use_guide: True
53
+ Head:
54
+ name: CTCHead
55
+ fc_decay: 0.00001
56
+
57
+ Loss:
58
+ name: MultiLoss
59
+ loss_config_list:
60
+ - CTCLoss:
61
+ - SARLoss:
62
+
63
+ PostProcess:
64
+ name: CTCLabelDecode
65
+
66
+ Metric:
67
+ name: RecMetric
68
+ main_indicator: acc
69
+ ignore_space: False
70
+
71
+ Train:
72
+ dataset:
73
+ name: SimpleDataSet
74
+ data_dir: ./train_data/
75
+ ext_op_transform_idx: 1
76
+ label_file_list:
77
+ - ./train_data/train_list.txt
78
+ transforms:
79
+ - DecodeImage:
80
+ img_mode: BGR
81
+ channel_first: false
82
+ - RecConAug:
83
+ prob: 0.5
84
+ ext_data_num: 2
85
+ image_shape: [48, 320, 3]
86
+ - RecAug:
87
+ - MultiLabelEncode:
88
+ - RecResizeImg:
89
+ image_shape: [3, 48, 320]
90
+ - KeepKeys:
91
+ keep_keys:
92
+ - image
93
+ - label_ctc
94
+ - label_sar
95
+ - length
96
+ - valid_ratio
97
+ loader:
98
+ shuffle: true
99
+ batch_size_per_card: 128
100
+ drop_last: true
101
+ num_workers: 4
102
+ Eval:
103
+ dataset:
104
+ name: SimpleDataSet
105
+ data_dir: ./train_data
106
+ label_file_list:
107
+ - ./train_data/val_list.txt
108
+ transforms:
109
+ - DecodeImage:
110
+ img_mode: BGR
111
+ channel_first: false
112
+ - MultiLabelEncode:
113
+ - RecResizeImg:
114
+ image_shape: [3, 48, 320]
115
+ - KeepKeys:
116
+ keep_keys:
117
+ - image
118
+ - label_ctc
119
+ - label_sar
120
+ - length
121
+ - valid_ratio
122
+ loader:
123
+ shuffle: false
124
+ drop_last: false
125
+ batch_size_per_card: 128
126
+ num_workers: 4
PaddleOCR2Pytorch/configs/rec/PP-OCRv3/multi_language/ka_PP-OCRv3_rec.yml ADDED
@@ -0,0 +1,126 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ debug: false
3
+ use_gpu: true
4
+ epoch_num: 500
5
+ log_smooth_window: 20
6
+ print_batch_step: 10
7
+ save_model_dir: ./output/v3_ka_mobile
8
+ save_epoch_step: 3
9
+ eval_batch_step: [0, 2000]
10
+ cal_metric_during_train: true
11
+ pretrained_model:
12
+ checkpoints:
13
+ save_inference_dir:
14
+ use_visualdl: false
15
+ infer_img: doc/imgs_words/ch/word_1.jpg
16
+ character_dict_path: ppocr/utils/dict/ka_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_ppocrv3_ka.txt
22
+
23
+
24
+ Optimizer:
25
+ name: Adam
26
+ beta1: 0.9
27
+ beta2: 0.999
28
+ lr:
29
+ name: Cosine
30
+ learning_rate: 0.001
31
+ warmup_epoch: 5
32
+ regularizer:
33
+ name: L2
34
+ factor: 3.0e-05
35
+
36
+
37
+ Architecture:
38
+ model_type: rec
39
+ algorithm: SVTR
40
+ Transform:
41
+ Backbone:
42
+ name: MobileNetV1Enhance
43
+ scale: 0.5
44
+ last_conv_stride: [1, 2]
45
+ last_pool_type: avg
46
+ Neck:
47
+ name: SequenceEncoder
48
+ encoder_type: svtr
49
+ dims: 64
50
+ depth: 2
51
+ hidden_dims: 120
52
+ use_guide: True
53
+ Head:
54
+ name: CTCHead
55
+ fc_decay: 0.00001
56
+
57
+ Loss:
58
+ name: MultiLoss
59
+ loss_config_list:
60
+ - CTCLoss:
61
+ - SARLoss:
62
+
63
+ PostProcess:
64
+ name: CTCLabelDecode
65
+
66
+ Metric:
67
+ name: RecMetric
68
+ main_indicator: acc
69
+ ignore_space: False
70
+
71
+ Train:
72
+ dataset:
73
+ name: SimpleDataSet
74
+ data_dir: ./train_data/
75
+ ext_op_transform_idx: 1
76
+ label_file_list:
77
+ - ./train_data/train_list.txt
78
+ transforms:
79
+ - DecodeImage:
80
+ img_mode: BGR
81
+ channel_first: false
82
+ - RecConAug:
83
+ prob: 0.5
84
+ ext_data_num: 2
85
+ image_shape: [48, 320, 3]
86
+ - RecAug:
87
+ - MultiLabelEncode:
88
+ - RecResizeImg:
89
+ image_shape: [3, 48, 320]
90
+ - KeepKeys:
91
+ keep_keys:
92
+ - image
93
+ - label_ctc
94
+ - label_sar
95
+ - length
96
+ - valid_ratio
97
+ loader:
98
+ shuffle: true
99
+ batch_size_per_card: 128
100
+ drop_last: true
101
+ num_workers: 4
102
+ Eval:
103
+ dataset:
104
+ name: SimpleDataSet
105
+ data_dir: ./train_data
106
+ label_file_list:
107
+ - ./train_data/val_list.txt
108
+ transforms:
109
+ - DecodeImage:
110
+ img_mode: BGR
111
+ channel_first: false
112
+ - MultiLabelEncode:
113
+ - RecResizeImg:
114
+ image_shape: [3, 48, 320]
115
+ - KeepKeys:
116
+ keep_keys:
117
+ - image
118
+ - label_ctc
119
+ - label_sar
120
+ - length
121
+ - valid_ratio
122
+ loader:
123
+ shuffle: false
124
+ drop_last: false
125
+ batch_size_per_card: 128
126
+ num_workers: 4
PaddleOCR2Pytorch/configs/rec/PP-OCRv3/multi_language/korean_PP-OCRv3_rec.yml ADDED
@@ -0,0 +1,126 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ debug: false
3
+ use_gpu: true
4
+ epoch_num: 500
5
+ log_smooth_window: 20
6
+ print_batch_step: 10
7
+ save_model_dir: ./output/v3_korean_mobile
8
+ save_epoch_step: 3
9
+ eval_batch_step: [0, 2000]
10
+ cal_metric_during_train: true
11
+ pretrained_model:
12
+ checkpoints:
13
+ save_inference_dir:
14
+ use_visualdl: false
15
+ infer_img: doc/imgs_words/ch/word_1.jpg
16
+ character_dict_path: ppocr/utils/dict/korean_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_ppocrv3_korean.txt
22
+
23
+
24
+ Optimizer:
25
+ name: Adam
26
+ beta1: 0.9
27
+ beta2: 0.999
28
+ lr:
29
+ name: Cosine
30
+ learning_rate: 0.001
31
+ warmup_epoch: 5
32
+ regularizer:
33
+ name: L2
34
+ factor: 3.0e-05
35
+
36
+
37
+ Architecture:
38
+ model_type: rec
39
+ algorithm: SVTR
40
+ Transform:
41
+ Backbone:
42
+ name: MobileNetV1Enhance
43
+ scale: 0.5
44
+ last_conv_stride: [1, 2]
45
+ last_pool_type: avg
46
+ Neck:
47
+ name: SequenceEncoder
48
+ encoder_type: svtr
49
+ dims: 64
50
+ depth: 2
51
+ hidden_dims: 120
52
+ use_guide: True
53
+ Head:
54
+ name: CTCHead
55
+ fc_decay: 0.00001
56
+
57
+ Loss:
58
+ name: MultiLoss
59
+ loss_config_list:
60
+ - CTCLoss:
61
+ - SARLoss:
62
+
63
+ PostProcess:
64
+ name: CTCLabelDecode
65
+
66
+ Metric:
67
+ name: RecMetric
68
+ main_indicator: acc
69
+ ignore_space: False
70
+
71
+ Train:
72
+ dataset:
73
+ name: SimpleDataSet
74
+ data_dir: ./train_data/
75
+ ext_op_transform_idx: 1
76
+ label_file_list:
77
+ - ./train_data/train_list.txt
78
+ transforms:
79
+ - DecodeImage:
80
+ img_mode: BGR
81
+ channel_first: false
82
+ - RecConAug:
83
+ prob: 0.5
84
+ ext_data_num: 2
85
+ image_shape: [48, 320, 3]
86
+ - RecAug:
87
+ - MultiLabelEncode:
88
+ - RecResizeImg:
89
+ image_shape: [3, 48, 320]
90
+ - KeepKeys:
91
+ keep_keys:
92
+ - image
93
+ - label_ctc
94
+ - label_sar
95
+ - length
96
+ - valid_ratio
97
+ loader:
98
+ shuffle: true
99
+ batch_size_per_card: 128
100
+ drop_last: true
101
+ num_workers: 4
102
+ Eval:
103
+ dataset:
104
+ name: SimpleDataSet
105
+ data_dir: ./train_data
106
+ label_file_list:
107
+ - ./train_data/val_list.txt
108
+ transforms:
109
+ - DecodeImage:
110
+ img_mode: BGR
111
+ channel_first: false
112
+ - MultiLabelEncode:
113
+ - RecResizeImg:
114
+ image_shape: [3, 48, 320]
115
+ - KeepKeys:
116
+ keep_keys:
117
+ - image
118
+ - label_ctc
119
+ - label_sar
120
+ - length
121
+ - valid_ratio
122
+ loader:
123
+ shuffle: false
124
+ drop_last: false
125
+ batch_size_per_card: 128
126
+ num_workers: 4
PaddleOCR2Pytorch/configs/rec/PP-OCRv3/multi_language/latin_PP-OCRv3_rec.yml ADDED
@@ -0,0 +1,126 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ debug: false
3
+ use_gpu: true
4
+ epoch_num: 500
5
+ log_smooth_window: 20
6
+ print_batch_step: 10
7
+ save_model_dir: ./output/v3_latin_mobile
8
+ save_epoch_step: 3
9
+ eval_batch_step: [0, 2000]
10
+ cal_metric_during_train: true
11
+ pretrained_model:
12
+ checkpoints:
13
+ save_inference_dir:
14
+ use_visualdl: false
15
+ infer_img: doc/imgs_words/ch/word_1.jpg
16
+ character_dict_path: ppocr/utils/dict/latin_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_ppocrv3_latin.txt
22
+
23
+
24
+ Optimizer:
25
+ name: Adam
26
+ beta1: 0.9
27
+ beta2: 0.999
28
+ lr:
29
+ name: Cosine
30
+ learning_rate: 0.001
31
+ warmup_epoch: 5
32
+ regularizer:
33
+ name: L2
34
+ factor: 3.0e-05
35
+
36
+
37
+ Architecture:
38
+ model_type: rec
39
+ algorithm: SVTR
40
+ Transform:
41
+ Backbone:
42
+ name: MobileNetV1Enhance
43
+ scale: 0.5
44
+ last_conv_stride: [1, 2]
45
+ last_pool_type: avg
46
+ Neck:
47
+ name: SequenceEncoder
48
+ encoder_type: svtr
49
+ dims: 64
50
+ depth: 2
51
+ hidden_dims: 120
52
+ use_guide: True
53
+ Head:
54
+ name: CTCHead
55
+ fc_decay: 0.00001
56
+
57
+ Loss:
58
+ name: MultiLoss
59
+ loss_config_list:
60
+ - CTCLoss:
61
+ - SARLoss:
62
+
63
+ PostProcess:
64
+ name: CTCLabelDecode
65
+
66
+ Metric:
67
+ name: RecMetric
68
+ main_indicator: acc
69
+ ignore_space: False
70
+
71
+ Train:
72
+ dataset:
73
+ name: SimpleDataSet
74
+ data_dir: ./train_data/
75
+ ext_op_transform_idx: 1
76
+ label_file_list:
77
+ - ./train_data/train_list.txt
78
+ transforms:
79
+ - DecodeImage:
80
+ img_mode: BGR
81
+ channel_first: false
82
+ - RecConAug:
83
+ prob: 0.5
84
+ ext_data_num: 2
85
+ image_shape: [48, 320, 3]
86
+ - RecAug:
87
+ - MultiLabelEncode:
88
+ - RecResizeImg:
89
+ image_shape: [3, 48, 320]
90
+ - KeepKeys:
91
+ keep_keys:
92
+ - image
93
+ - label_ctc
94
+ - label_sar
95
+ - length
96
+ - valid_ratio
97
+ loader:
98
+ shuffle: true
99
+ batch_size_per_card: 128
100
+ drop_last: true
101
+ num_workers: 4
102
+ Eval:
103
+ dataset:
104
+ name: SimpleDataSet
105
+ data_dir: ./train_data
106
+ label_file_list:
107
+ - ./train_data/val_list.txt
108
+ transforms:
109
+ - DecodeImage:
110
+ img_mode: BGR
111
+ channel_first: false
112
+ - MultiLabelEncode:
113
+ - RecResizeImg:
114
+ image_shape: [3, 48, 320]
115
+ - KeepKeys:
116
+ keep_keys:
117
+ - image
118
+ - label_ctc
119
+ - label_sar
120
+ - length
121
+ - valid_ratio
122
+ loader:
123
+ shuffle: false
124
+ drop_last: false
125
+ batch_size_per_card: 128
126
+ num_workers: 4
PaddleOCR2Pytorch/configs/rec/PP-OCRv3/multi_language/ta_PP-OCRv3_rec.yml ADDED
@@ -0,0 +1,126 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ debug: false
3
+ use_gpu: true
4
+ epoch_num: 500
5
+ log_smooth_window: 20
6
+ print_batch_step: 10
7
+ save_model_dir: ./output/v3_ta_mobile
8
+ save_epoch_step: 3
9
+ eval_batch_step: [0, 2000]
10
+ cal_metric_during_train: true
11
+ pretrained_model:
12
+ checkpoints:
13
+ save_inference_dir:
14
+ use_visualdl: false
15
+ infer_img: doc/imgs_words/ch/word_1.jpg
16
+ character_dict_path: ppocr/utils/dict/ta_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_ppocrv3_ta.txt
22
+
23
+
24
+ Optimizer:
25
+ name: Adam
26
+ beta1: 0.9
27
+ beta2: 0.999
28
+ lr:
29
+ name: Cosine
30
+ learning_rate: 0.001
31
+ warmup_epoch: 5
32
+ regularizer:
33
+ name: L2
34
+ factor: 3.0e-05
35
+
36
+
37
+ Architecture:
38
+ model_type: rec
39
+ algorithm: SVTR
40
+ Transform:
41
+ Backbone:
42
+ name: MobileNetV1Enhance
43
+ scale: 0.5
44
+ last_conv_stride: [1, 2]
45
+ last_pool_type: avg
46
+ Neck:
47
+ name: SequenceEncoder
48
+ encoder_type: svtr
49
+ dims: 64
50
+ depth: 2
51
+ hidden_dims: 120
52
+ use_guide: True
53
+ Head:
54
+ name: CTCHead
55
+ fc_decay: 0.00001
56
+
57
+ Loss:
58
+ name: MultiLoss
59
+ loss_config_list:
60
+ - CTCLoss:
61
+ - SARLoss:
62
+
63
+ PostProcess:
64
+ name: CTCLabelDecode
65
+
66
+ Metric:
67
+ name: RecMetric
68
+ main_indicator: acc
69
+ ignore_space: False
70
+
71
+ Train:
72
+ dataset:
73
+ name: SimpleDataSet
74
+ data_dir: ./train_data/
75
+ ext_op_transform_idx: 1
76
+ label_file_list:
77
+ - ./train_data/train_list.txt
78
+ transforms:
79
+ - DecodeImage:
80
+ img_mode: BGR
81
+ channel_first: false
82
+ - RecConAug:
83
+ prob: 0.5
84
+ ext_data_num: 2
85
+ image_shape: [48, 320, 3]
86
+ - RecAug:
87
+ - MultiLabelEncode:
88
+ - RecResizeImg:
89
+ image_shape: [3, 48, 320]
90
+ - KeepKeys:
91
+ keep_keys:
92
+ - image
93
+ - label_ctc
94
+ - label_sar
95
+ - length
96
+ - valid_ratio
97
+ loader:
98
+ shuffle: true
99
+ batch_size_per_card: 128
100
+ drop_last: true
101
+ num_workers: 4
102
+ Eval:
103
+ dataset:
104
+ name: SimpleDataSet
105
+ data_dir: ./train_data
106
+ label_file_list:
107
+ - ./train_data/val_list.txt
108
+ transforms:
109
+ - DecodeImage:
110
+ img_mode: BGR
111
+ channel_first: false
112
+ - MultiLabelEncode:
113
+ - RecResizeImg:
114
+ image_shape: [3, 48, 320]
115
+ - KeepKeys:
116
+ keep_keys:
117
+ - image
118
+ - label_ctc
119
+ - label_sar
120
+ - length
121
+ - valid_ratio
122
+ loader:
123
+ shuffle: false
124
+ drop_last: false
125
+ batch_size_per_card: 128
126
+ num_workers: 4
PaddleOCR2Pytorch/configs/rec/PP-OCRv3/multi_language/te_PP-OCRv3_rec.yml ADDED
@@ -0,0 +1,126 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ debug: false
3
+ use_gpu: true
4
+ epoch_num: 500
5
+ log_smooth_window: 20
6
+ print_batch_step: 10
7
+ save_model_dir: ./output/v3_te_mobile
8
+ save_epoch_step: 3
9
+ eval_batch_step: [0, 2000]
10
+ cal_metric_during_train: true
11
+ pretrained_model:
12
+ checkpoints:
13
+ save_inference_dir:
14
+ use_visualdl: false
15
+ infer_img: doc/imgs_words/ch/word_1.jpg
16
+ character_dict_path: ppocr/utils/dict/te_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_ppocrv3_te.txt
22
+
23
+
24
+ Optimizer:
25
+ name: Adam
26
+ beta1: 0.9
27
+ beta2: 0.999
28
+ lr:
29
+ name: Cosine
30
+ learning_rate: 0.001
31
+ warmup_epoch: 5
32
+ regularizer:
33
+ name: L2
34
+ factor: 3.0e-05
35
+
36
+
37
+ Architecture:
38
+ model_type: rec
39
+ algorithm: SVTR
40
+ Transform:
41
+ Backbone:
42
+ name: MobileNetV1Enhance
43
+ scale: 0.5
44
+ last_conv_stride: [1, 2]
45
+ last_pool_type: avg
46
+ Neck:
47
+ name: SequenceEncoder
48
+ encoder_type: svtr
49
+ dims: 64
50
+ depth: 2
51
+ hidden_dims: 120
52
+ use_guide: True
53
+ Head:
54
+ name: CTCHead
55
+ fc_decay: 0.00001
56
+
57
+ Loss:
58
+ name: MultiLoss
59
+ loss_config_list:
60
+ - CTCLoss:
61
+ - SARLoss:
62
+
63
+ PostProcess:
64
+ name: CTCLabelDecode
65
+
66
+ Metric:
67
+ name: RecMetric
68
+ main_indicator: acc
69
+ ignore_space: False
70
+
71
+ Train:
72
+ dataset:
73
+ name: SimpleDataSet
74
+ data_dir: ./train_data/
75
+ ext_op_transform_idx: 1
76
+ label_file_list:
77
+ - ./train_data/train_list.txt
78
+ transforms:
79
+ - DecodeImage:
80
+ img_mode: BGR
81
+ channel_first: false
82
+ - RecConAug:
83
+ prob: 0.5
84
+ ext_data_num: 2
85
+ image_shape: [48, 320, 3]
86
+ - RecAug:
87
+ - MultiLabelEncode:
88
+ - RecResizeImg:
89
+ image_shape: [3, 48, 320]
90
+ - KeepKeys:
91
+ keep_keys:
92
+ - image
93
+ - label_ctc
94
+ - label_sar
95
+ - length
96
+ - valid_ratio
97
+ loader:
98
+ shuffle: true
99
+ batch_size_per_card: 128
100
+ drop_last: true
101
+ num_workers: 4
102
+ Eval:
103
+ dataset:
104
+ name: SimpleDataSet
105
+ data_dir: ./train_data
106
+ label_file_list:
107
+ - ./train_data/val_list.txt
108
+ transforms:
109
+ - DecodeImage:
110
+ img_mode: BGR
111
+ channel_first: false
112
+ - MultiLabelEncode:
113
+ - RecResizeImg:
114
+ image_shape: [3, 48, 320]
115
+ - KeepKeys:
116
+ keep_keys:
117
+ - image
118
+ - label_ctc
119
+ - label_sar
120
+ - length
121
+ - valid_ratio
122
+ loader:
123
+ shuffle: false
124
+ drop_last: false
125
+ batch_size_per_card: 128
126
+ num_workers: 4
PaddleOCR2Pytorch/configs/rec/PP-OCRv4/ch_PP-OCRv4_rec.yml ADDED
@@ -0,0 +1,138 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ debug: false
3
+ use_gpu: true
4
+ epoch_num: 200
5
+ log_smooth_window: 20
6
+ print_batch_step: 10
7
+ save_model_dir: ./output/rec_ppocr_v4
8
+ save_epoch_step: 10
9
+ eval_batch_step: [0, 2000]
10
+ cal_metric_during_train: true
11
+ pretrained_model:
12
+ checkpoints:
13
+ save_inference_dir:
14
+ use_visualdl: false
15
+ infer_img: doc/imgs_words/ch/word_1.jpg
16
+ character_dict_path: pytorchocr/utils/ppocr_keys_v1.txt
17
+ max_text_length: &max_text_length 25
18
+ infer_mode: true
19
+ use_space_char: true
20
+ distributed: true
21
+ save_res_path: ./output/rec/predicts_ppocrv3.txt
22
+
23
+
24
+ Optimizer:
25
+ name: Adam
26
+ beta1: 0.9
27
+ beta2: 0.999
28
+ lr:
29
+ name: Cosine
30
+ learning_rate: 0.001
31
+ warmup_epoch: 5
32
+ regularizer:
33
+ name: L2
34
+ factor: 3.0e-05
35
+
36
+
37
+ Architecture:
38
+ model_type: rec
39
+ algorithm: SVTR_LCNet
40
+ Transform:
41
+ Backbone:
42
+ name: PPLCNetV3
43
+ scale: 0.95
44
+ Head:
45
+ name: MultiHead
46
+ head_list:
47
+ - CTCHead:
48
+ Neck:
49
+ name: svtr
50
+ dims: 120
51
+ depth: 2
52
+ hidden_dims: 120
53
+ kernel_size: [1, 3]
54
+ use_guide: True
55
+ Head:
56
+ fc_decay: 0.00001
57
+ - NRTRHead:
58
+ nrtr_dim: 384
59
+ max_text_length: *max_text_length
60
+
61
+ Loss:
62
+ name: MultiLoss
63
+ loss_config_list:
64
+ - CTCLoss:
65
+ - NRTRLoss:
66
+
67
+ PostProcess:
68
+ name: CTCLabelDecode
69
+
70
+ Metric:
71
+ name: RecMetric
72
+ main_indicator: acc
73
+
74
+ Train:
75
+ dataset:
76
+ name: MultiScaleDataSet
77
+ ds_width: false
78
+ data_dir: ./train_data/
79
+ ext_op_transform_idx: 1
80
+ label_file_list:
81
+ - ./train_data/train_list.txt
82
+ transforms:
83
+ - DecodeImage:
84
+ img_mode: BGR
85
+ channel_first: false
86
+ - RecConAug:
87
+ prob: 0.5
88
+ ext_data_num: 2
89
+ image_shape: [48, 320, 3]
90
+ max_text_length: *max_text_length
91
+ - RecAug:
92
+ - MultiLabelEncode:
93
+ gtc_encode: NRTRLabelEncode
94
+ - KeepKeys:
95
+ keep_keys:
96
+ - image
97
+ - label_ctc
98
+ - label_gtc
99
+ - length
100
+ - valid_ratio
101
+ sampler:
102
+ name: MultiScaleSampler
103
+ scales: [[320, 32], [320, 48], [320, 64]]
104
+ first_bs: &bs 192
105
+ fix_bs: false
106
+ divided_factor: [8, 16] # w, h
107
+ is_training: True
108
+ loader:
109
+ shuffle: true
110
+ batch_size_per_card: *bs
111
+ drop_last: true
112
+ num_workers: 8
113
+ Eval:
114
+ dataset:
115
+ name: SimpleDataSet
116
+ data_dir: ./train_data
117
+ label_file_list:
118
+ - ./train_data/val_list.txt
119
+ transforms:
120
+ - DecodeImage:
121
+ img_mode: BGR
122
+ channel_first: false
123
+ - MultiLabelEncode:
124
+ gtc_encode: NRTRLabelEncode
125
+ - RecResizeImg:
126
+ image_shape: [3, 48, 320]
127
+ - KeepKeys:
128
+ keep_keys:
129
+ - image
130
+ - label_ctc
131
+ - label_gtc
132
+ - length
133
+ - valid_ratio
134
+ loader:
135
+ shuffle: false
136
+ drop_last: false
137
+ batch_size_per_card: 128
138
+ num_workers: 4
PaddleOCR2Pytorch/configs/rec/PP-OCRv4/ch_PP-OCRv4_rec_ampO2_ultra.yml ADDED
@@ -0,0 +1,140 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ debug: false
3
+ use_gpu: true
4
+ epoch_num: 200
5
+ log_smooth_window: 20
6
+ print_batch_step: 10
7
+ save_model_dir: ./output/rec_ppocr_v4
8
+ save_epoch_step: 10
9
+ eval_batch_step: [0, 2000]
10
+ cal_metric_during_train: true
11
+ pretrained_model:
12
+ checkpoints:
13
+ save_inference_dir:
14
+ use_visualdl: false
15
+ infer_img: doc/imgs_words/ch/word_1.jpg
16
+ character_dict_path: ppocr/utils/ppocr_keys_v1.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_ppocrv3.txt
22
+ use_amp: True
23
+ amp_level: O2
24
+
25
+
26
+ Optimizer:
27
+ name: Adam
28
+ beta1: 0.9
29
+ beta2: 0.999
30
+ lr:
31
+ name: Cosine
32
+ learning_rate: 0.001
33
+ warmup_epoch: 5
34
+ regularizer:
35
+ name: L2
36
+ factor: 3.0e-05
37
+
38
+
39
+ Architecture:
40
+ model_type: rec
41
+ algorithm: SVTR_LCNet
42
+ Transform:
43
+ Backbone:
44
+ name: PPLCNetV3
45
+ scale: 0.95
46
+ Head:
47
+ name: MultiHead
48
+ head_list:
49
+ - CTCHead:
50
+ Neck:
51
+ name: svtr
52
+ dims: 120
53
+ depth: 2
54
+ hidden_dims: 120
55
+ kernel_size: [1, 3]
56
+ use_guide: True
57
+ Head:
58
+ fc_decay: 0.00001
59
+ - NRTRHead:
60
+ nrtr_dim: 384
61
+ max_text_length: *max_text_length
62
+
63
+ Loss:
64
+ name: MultiLoss
65
+ loss_config_list:
66
+ - CTCLoss:
67
+ - NRTRLoss:
68
+
69
+ PostProcess:
70
+ name: CTCLabelDecode
71
+
72
+ Metric:
73
+ name: RecMetric
74
+ main_indicator: acc
75
+
76
+ Train:
77
+ dataset:
78
+ name: MultiScaleDataSet
79
+ ds_width: false
80
+ data_dir: ./train_data/
81
+ ext_op_transform_idx: 1
82
+ label_file_list:
83
+ - ./train_data/train_list.txt
84
+ transforms:
85
+ - DecodeImage:
86
+ img_mode: BGR
87
+ channel_first: false
88
+ - RecConAug:
89
+ prob: 0.5
90
+ ext_data_num: 2
91
+ image_shape: [48, 320, 3]
92
+ max_text_length: *max_text_length
93
+ - RecAug:
94
+ - MultiLabelEncode:
95
+ gtc_encode: NRTRLabelEncode
96
+ - KeepKeys:
97
+ keep_keys:
98
+ - image
99
+ - label_ctc
100
+ - label_gtc
101
+ - length
102
+ - valid_ratio
103
+ sampler:
104
+ name: MultiScaleSampler
105
+ scales: [[320, 32], [320, 48], [320, 64]]
106
+ first_bs: &bs 384
107
+ fix_bs: false
108
+ divided_factor: [8, 16] # w, h
109
+ is_training: True
110
+ loader:
111
+ shuffle: true
112
+ batch_size_per_card: *bs
113
+ drop_last: true
114
+ num_workers: 16
115
+ Eval:
116
+ dataset:
117
+ name: SimpleDataSet
118
+ data_dir: ./train_data
119
+ label_file_list:
120
+ - ./train_data/val_list.txt
121
+ transforms:
122
+ - DecodeImage:
123
+ img_mode: BGR
124
+ channel_first: false
125
+ - MultiLabelEncode:
126
+ gtc_encode: NRTRLabelEncode
127
+ - RecResizeImg:
128
+ image_shape: [3, 48, 320]
129
+ - KeepKeys:
130
+ keep_keys:
131
+ - image
132
+ - label_ctc
133
+ - label_gtc
134
+ - length
135
+ - valid_ratio
136
+ loader:
137
+ shuffle: false
138
+ drop_last: false
139
+ batch_size_per_card: 128
140
+ num_workers: 16
PaddleOCR2Pytorch/configs/rec/PP-OCRv4/ch_PP-OCRv4_rec_ctc.yml ADDED
@@ -0,0 +1,132 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Global:
2
+ debug: false
3
+ use_gpu: true
4
+ epoch_num: 200
5
+ log_smooth_window: 20
6
+ print_batch_step: 10
7
+ save_model_dir: ./output/rec_ppocr_v4
8
+ save_epoch_step: 10
9
+ eval_batch_step: [0, 2000]
10
+ cal_metric_during_train: true
11
+ pretrained_model:
12
+ checkpoints:
13
+ save_inference_dir:
14
+ use_visualdl: false
15
+ infer_img: doc/imgs_words/ch/word_1.jpg
16
+ character_dict_path: ppocr/utils/ppocr_keys_v1.txt
17
+ max_text_length: &max_text_length 25
18
+ infer_mode: true
19
+ use_space_char: true
20
+ distributed: true
21
+ save_res_path: ./output/rec/predicts_ppocrv3.txt
22
+
23
+
24
+ Optimizer:
25
+ name: Adam
26
+ beta1: 0.9
27
+ beta2: 0.999
28
+ lr:
29
+ name: Cosine
30
+ learning_rate: 0.001
31
+ warmup_epoch: 5
32
+ regularizer:
33
+ name: L2
34
+ factor: 3.0e-05
35
+
36
+
37
+ Architecture:
38
+ model_type: rec
39
+ algorithm: SVTR_LCNet
40
+ Transform:
41
+ Backbone:
42
+ name: PPLCNetV3
43
+ scale: 0.95
44
+ Neck:
45
+ name: svtr
46
+ dims: 120
47
+ depth: 2
48
+ hidden_dims: 120
49
+ kernel_size: [ 1, 3 ]
50
+ use_guide: True
51
+ Head:
52
+ name: CTCHead
53
+ fc_decay: 0.00004
54
+
55
+ Loss:
56
+ name: MultiLoss
57
+ loss_config_list:
58
+ - CTCLoss:
59
+ - NRTRLoss:
60
+
61
+ PostProcess:
62
+ name: CTCLabelDecode
63
+
64
+ Metric:
65
+ name: RecMetric
66
+ main_indicator: acc
67
+
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 192
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: false
130
+ drop_last: false
131
+ batch_size_per_card: 128
132
+ num_workers: 4