-
Notifications
You must be signed in to change notification settings - Fork 57
/
table_master.yaml
164 lines (152 loc) · 4.04 KB
/
table_master.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
system:
mode: 0 # 0 for graph mode, 1 for pynative mode in MindSpore
distribute: True
amp_level: O2 # running in O2 mode
amp_level_infer: O2
seed: 17
log_interval: 100
val_while_train: True
drop_overflow_update: False
ckpt_max_keep: 30
common:
character_dict_path: &character_dict_path mindocr/utils/dict/table_master_structure_dict.txt
max_text_len: &max_text_len 500
batch_size: &batch_size 10
box_format: &box_format 'xywh' # 'xywh', 'xyxy', 'xyxyxyxy'
model:
type: table
transform: null
backbone:
name: table_resnet_extra
gcb_config:
ratio: 0.0625
headers: 1
att_scale: False
fusion_type: channel_add
layers: [ False, True, True, True ]
layers: [ 1,2,5,3 ]
head:
name: TableMasterHead
out_channels: 43
hidden_size: 512
headers: 8
dropout: 0.
d_ff: 2024
max_text_length: *max_text_len
loc_reg_num: &loc_reg_num 4
postprocess:
name: TableMasterLabelDecode
character_dict_path: *character_dict_path
box_shape: pad
merge_no_span_structure: &merge_no_span_structure True
metric:
name: TableMetric
main_indicator: acc
compute_bbox_metric: False
box_format: *box_format
loss:
name: TableMasterLoss
ignore_index: 42 # set to len of dict + 3
scheduler:
scheduler: 'cosine_decay'
lr: 0.001
min_lr: 0.00001
num_epochs: 30
warmup_epochs: 0
decay_epochs: 25
optimizer:
opt: adam
beta1: 0.9
beta2: 0.999
loss_scaler:
type: dynamic
loss_scale: 512
scale_factor: 2.0
scale_window: 1000
train:
ckpt_save_dir: ./tmp_table
dataset_sink_mode: False
ema: True
dataset:
type: PubTabDataset
data_dir: dir/to/train
label_file_list: [ dir/to/pubtabnet/PubTabNet_2.0.0_train.jsonl ]
sample_ratio_list: [ 1.0 ]
shuffle: True
transform_pipeline:
- DecodeImage:
img_mode: BGR
to_float32: false
- TableMasterLabelEncode:
character_dict_path: *character_dict_path
learn_empty_box: False
merge_no_span_structure: *merge_no_span_structure
replace_empty_cell_token: True
loc_reg_num: *loc_reg_num
max_text_length: *max_text_len
- ResizeTableImage:
max_len: 480
resize_bboxes: True
- PaddingTableImage:
size: [ 480, 480 ]
- TableBoxEncode:
in_box_format: *box_format
out_box_format: *box_format
- TableImageNorm:
scale: 1./255.
mean: [0.5, 0.5, 0.5]
std: [0.5, 0.5, 0.5]
order: hwc
- ToCHWImage:
output_columns: [ "image", "structure", "bboxes", "bbox_masks", "shape" ]
net_input_column_index: [ 0, 1 ]
label_column_index: [ 1, 2, 3 ]
loader:
shuffle: True
batch_size: *batch_size
drop_remainder: True
max_rowsize: 12
num_workers: 1
eval:
ckpt_load_path: ./tmp_table/best.ckpt
dataset_sink_mode: False
dataset:
type: PubTabDataset
data_dir: dir/to/val
label_file_list: [ dir/to/PubTabNet_2.0.0_val.jsonl ]
sample_ratio_list: [ 1.0 ]
shuffle: False
transform_pipeline:
- DecodeImage:
img_mode: BGR
to_float32: True
- TableMasterLabelEncode:
character_dict_path: *character_dict_path
learn_empty_box: False
merge_no_span_structure: *merge_no_span_structure
replace_empty_cell_token: True
loc_reg_num: *loc_reg_num
max_text_length: *max_text_len
- ResizeTableImage:
max_len: 480
resize_bboxes: True
- PaddingTableImage:
size: [ 480, 480 ]
- TableBoxEncode:
in_box_format: *box_format
out_box_format: *box_format
- TableImageNorm:
scale: 1./255.
mean: [ 0.5, 0.5, 0.5 ]
std: [ 0.5, 0.5, 0.5 ]
order: hwc
- ToCHWImage:
output_columns: [ "image", "structure", "bboxes", "bbox_masks", "shape" ]
net_input_column_index: [ 0, 1 ]
label_column_index: [ 0, 1, 2, 3, 4 ]
loader:
shuffle: False
batch_size: 10
drop_remainder: False
max_rowsize: 12
num_workers: 1