This commit is contained in:
181
configs/table/SLANeXt_wired.yml
Normal file
181
configs/table/SLANeXt_wired.yml
Normal file
@@ -0,0 +1,181 @@
|
||||
Global:
|
||||
model_name: SLANeXt_wired # To use static model for inference.
|
||||
use_gpu: true
|
||||
epoch_num: 400
|
||||
log_smooth_window: 20
|
||||
print_batch_step: 20
|
||||
save_model_dir: ./output/SLANeXt_wired
|
||||
save_epoch_step: 400
|
||||
eval_batch_step:
|
||||
- 0
|
||||
- 331
|
||||
cal_metric_during_train: true
|
||||
pretrained_model: "https://paddle-model-ecology.bj.bcebos.com/paddlex/official_pretrained_model/SLANeXt_wired_pretrained.pdparams"
|
||||
checkpoints: null
|
||||
save_inference_dir: ./output/SLANeXt_wired/infer
|
||||
use_visualdl: false
|
||||
infer_img: ppstructure/docs/table/table.jpg
|
||||
character_dict_path: ppocr/utils/dict/table_structure_dict_ch.txt
|
||||
character_type: en
|
||||
max_text_length: 500
|
||||
box_format: xyxyxyxy
|
||||
infer_mode: false
|
||||
use_sync_bn: true
|
||||
save_res_path: output/infer
|
||||
d2s_train_image_shape: [3, 512, 512]
|
||||
|
||||
Optimizer:
|
||||
name: AdamW
|
||||
beta1: 0.9
|
||||
beta2: 0.999
|
||||
clip_norm: 5.0
|
||||
lr:
|
||||
name: Cosine
|
||||
learning_rate: 0.0001
|
||||
warmup_epoch: 1
|
||||
regularizer:
|
||||
name: L2
|
||||
factor: 0.0
|
||||
|
||||
Architecture:
|
||||
model_type: table
|
||||
algorithm: SLANeXt
|
||||
Backbone:
|
||||
name: Vary_VIT_B
|
||||
image_size: 512
|
||||
encoder_embed_dim: 768
|
||||
encoder_depth: 12
|
||||
encoder_num_heads: 12
|
||||
encoder_global_attn_indexes: [2, 5, 8, 11]
|
||||
Head:
|
||||
name: SLAHead
|
||||
hidden_size: 512
|
||||
max_text_length: 500
|
||||
loc_reg_num: 8
|
||||
|
||||
Loss:
|
||||
name: SLALoss
|
||||
structure_weight: 1.0
|
||||
# SLANeXt does not train the cell location task by default, set the loc_weight if needed.
|
||||
loc_weight: 0.0
|
||||
loc_loss: smooth_l1
|
||||
|
||||
PostProcess:
|
||||
name: TableLabelDecode
|
||||
merge_no_span_structure: true
|
||||
|
||||
Metric:
|
||||
name: TableMetric
|
||||
main_indicator: acc
|
||||
compute_bbox_metric: false
|
||||
loc_reg_num: 8
|
||||
box_format: xyxyxyxy
|
||||
del_thead_tbody: true
|
||||
|
||||
Train:
|
||||
dataset:
|
||||
name: PubTabDataSet
|
||||
data_dir: train_data/table/train/
|
||||
label_file_list:
|
||||
- train_data/table/train.txt
|
||||
ratio_list:
|
||||
- 1
|
||||
transforms:
|
||||
- DecodeImage:
|
||||
img_mode: BGR
|
||||
channel_first: false
|
||||
- TableLabelEncode:
|
||||
learn_empty_box: false
|
||||
merge_no_span_structure: true
|
||||
replace_empty_cell_token: false
|
||||
loc_reg_num: 8
|
||||
max_text_length: 500
|
||||
- TableBoxEncode:
|
||||
in_box_format: xyxyxyxy
|
||||
out_box_format: xyxyxyxy
|
||||
- ResizeTableImage:
|
||||
max_len: 512
|
||||
resize_bboxes: true
|
||||
- NormalizeImage:
|
||||
scale: 1./255.
|
||||
mean:
|
||||
- 0.485
|
||||
- 0.456
|
||||
- 0.406
|
||||
std:
|
||||
- 0.229
|
||||
- 0.224
|
||||
- 0.225
|
||||
order: hwc
|
||||
- PaddingTableImage:
|
||||
size:
|
||||
- 512
|
||||
- 512
|
||||
- ToCHWImage: null
|
||||
- KeepKeys:
|
||||
keep_keys:
|
||||
- image
|
||||
- structure
|
||||
- bboxes
|
||||
- bbox_masks
|
||||
- length
|
||||
- shape
|
||||
loader:
|
||||
shuffle: true
|
||||
batch_size_per_card: 48
|
||||
drop_last: true
|
||||
num_workers: 1
|
||||
|
||||
Eval:
|
||||
dataset:
|
||||
name: PubTabDataSet
|
||||
data_dir: train_data/table/val/
|
||||
label_file_list:
|
||||
- train_data/table/val.txt
|
||||
transforms:
|
||||
- DecodeImage:
|
||||
img_mode: BGR
|
||||
channel_first: false
|
||||
- TableLabelEncode:
|
||||
learn_empty_box: false
|
||||
merge_no_span_structure: true
|
||||
replace_empty_cell_token: false
|
||||
loc_reg_num: 8
|
||||
max_text_length: 500
|
||||
- TableBoxEncode:
|
||||
in_box_format: xyxyxyxy
|
||||
out_box_format: xyxyxyxy
|
||||
- ResizeTableImage:
|
||||
max_len: 512
|
||||
resize_bboxes: true
|
||||
- NormalizeImage:
|
||||
scale: 1./255.
|
||||
mean:
|
||||
- 0.485
|
||||
- 0.456
|
||||
- 0.406
|
||||
std:
|
||||
- 0.229
|
||||
- 0.224
|
||||
- 0.225
|
||||
order: hwc
|
||||
- PaddingTableImage:
|
||||
size:
|
||||
- 512
|
||||
- 512
|
||||
- ToCHWImage: null
|
||||
- KeepKeys:
|
||||
keep_keys:
|
||||
- image
|
||||
- structure
|
||||
- bboxes
|
||||
- bbox_masks
|
||||
- length
|
||||
- shape
|
||||
loader:
|
||||
shuffle: false
|
||||
drop_last: false
|
||||
batch_size_per_card: 48
|
||||
num_workers: 1
|
||||
|
||||
profiler_options: null
|
||||
181
configs/table/SLANeXt_wireless.yml
Normal file
181
configs/table/SLANeXt_wireless.yml
Normal file
@@ -0,0 +1,181 @@
|
||||
Global:
|
||||
model_name: SLANeXt_wireless # To use static model for inference.
|
||||
use_gpu: true
|
||||
epoch_num: 400
|
||||
log_smooth_window: 20
|
||||
print_batch_step: 20
|
||||
save_model_dir: ./output/SLANeXt_wireless
|
||||
save_epoch_step: 400
|
||||
eval_batch_step:
|
||||
- 0
|
||||
- 331
|
||||
cal_metric_during_train: true
|
||||
pretrained_model: "https://paddle-model-ecology.bj.bcebos.com/paddlex/official_pretrained_model/SLANeXt_wireless_pretrained.pdparams"
|
||||
checkpoints: null
|
||||
save_inference_dir: ./output/SLANeXt_wireless/infer
|
||||
use_visualdl: false
|
||||
infer_img: ppstructure/docs/table/table.jpg
|
||||
character_dict_path: ppocr/utils/dict/table_structure_dict_ch.txt
|
||||
character_type: en
|
||||
max_text_length: 500
|
||||
box_format: xyxyxyxy
|
||||
infer_mode: false
|
||||
use_sync_bn: true
|
||||
save_res_path: output/infer
|
||||
d2s_train_image_shape: [3, 512, 512]
|
||||
|
||||
Optimizer:
|
||||
name: AdamW
|
||||
beta1: 0.9
|
||||
beta2: 0.999
|
||||
clip_norm: 5.0
|
||||
lr:
|
||||
name: Cosine
|
||||
learning_rate: 0.0001
|
||||
warmup_epoch: 1
|
||||
regularizer:
|
||||
name: L2
|
||||
factor: 0.0
|
||||
|
||||
Architecture:
|
||||
model_type: table
|
||||
algorithm: SLANeXt
|
||||
Backbone:
|
||||
name: Vary_VIT_B
|
||||
image_size: 512
|
||||
encoder_embed_dim: 768
|
||||
encoder_depth: 12
|
||||
encoder_num_heads: 12
|
||||
encoder_global_attn_indexes: [2, 5, 8, 11]
|
||||
Head:
|
||||
name: SLAHead
|
||||
hidden_size: 512
|
||||
max_text_length: 500
|
||||
loc_reg_num: 8
|
||||
|
||||
Loss:
|
||||
name: SLALoss
|
||||
structure_weight: 1.0
|
||||
# SLANeXt does not train the cell location task by default, set the loc_weight if needed.
|
||||
loc_weight: 0.0
|
||||
loc_loss: smooth_l1
|
||||
|
||||
PostProcess:
|
||||
name: TableLabelDecode
|
||||
merge_no_span_structure: true
|
||||
|
||||
Metric:
|
||||
name: TableMetric
|
||||
main_indicator: acc
|
||||
compute_bbox_metric: false
|
||||
loc_reg_num: 8
|
||||
box_format: xyxyxyxy
|
||||
del_thead_tbody: true
|
||||
|
||||
Train:
|
||||
dataset:
|
||||
name: PubTabDataSet
|
||||
data_dir: train_data/table/train/
|
||||
label_file_list:
|
||||
- train_data/table/train.txt
|
||||
ratio_list:
|
||||
- 1
|
||||
transforms:
|
||||
- DecodeImage:
|
||||
img_mode: BGR
|
||||
channel_first: false
|
||||
- TableLabelEncode:
|
||||
learn_empty_box: false
|
||||
merge_no_span_structure: true
|
||||
replace_empty_cell_token: false
|
||||
loc_reg_num: 8
|
||||
max_text_length: 500
|
||||
- TableBoxEncode:
|
||||
in_box_format: xyxyxyxy
|
||||
out_box_format: xyxyxyxy
|
||||
- ResizeTableImage:
|
||||
max_len: 512
|
||||
resize_bboxes: true
|
||||
- NormalizeImage:
|
||||
scale: 1./255.
|
||||
mean:
|
||||
- 0.485
|
||||
- 0.456
|
||||
- 0.406
|
||||
std:
|
||||
- 0.229
|
||||
- 0.224
|
||||
- 0.225
|
||||
order: hwc
|
||||
- PaddingTableImage:
|
||||
size:
|
||||
- 512
|
||||
- 512
|
||||
- ToCHWImage: null
|
||||
- KeepKeys:
|
||||
keep_keys:
|
||||
- image
|
||||
- structure
|
||||
- bboxes
|
||||
- bbox_masks
|
||||
- length
|
||||
- shape
|
||||
loader:
|
||||
shuffle: true
|
||||
batch_size_per_card: 48
|
||||
drop_last: true
|
||||
num_workers: 1
|
||||
|
||||
Eval:
|
||||
dataset:
|
||||
name: PubTabDataSet
|
||||
data_dir: train_data/table/val/
|
||||
label_file_list:
|
||||
- train_data/table/val.txt
|
||||
transforms:
|
||||
- DecodeImage:
|
||||
img_mode: BGR
|
||||
channel_first: false
|
||||
- TableLabelEncode:
|
||||
learn_empty_box: false
|
||||
merge_no_span_structure: true
|
||||
replace_empty_cell_token: false
|
||||
loc_reg_num: 8
|
||||
max_text_length: 500
|
||||
- TableBoxEncode:
|
||||
in_box_format: xyxyxyxy
|
||||
out_box_format: xyxyxyxy
|
||||
- ResizeTableImage:
|
||||
max_len: 512
|
||||
resize_bboxes: true
|
||||
- NormalizeImage:
|
||||
scale: 1./255.
|
||||
mean:
|
||||
- 0.485
|
||||
- 0.456
|
||||
- 0.406
|
||||
std:
|
||||
- 0.229
|
||||
- 0.224
|
||||
- 0.225
|
||||
order: hwc
|
||||
- PaddingTableImage:
|
||||
size:
|
||||
- 512
|
||||
- 512
|
||||
- ToCHWImage: null
|
||||
- KeepKeys:
|
||||
keep_keys:
|
||||
- image
|
||||
- structure
|
||||
- bboxes
|
||||
- bbox_masks
|
||||
- length
|
||||
- shape
|
||||
loader:
|
||||
shuffle: false
|
||||
drop_last: false
|
||||
batch_size_per_card: 48
|
||||
num_workers: 1
|
||||
|
||||
profiler_options: null
|
||||
146
configs/table/SLANet.yml
Normal file
146
configs/table/SLANet.yml
Normal file
@@ -0,0 +1,146 @@
|
||||
Global:
|
||||
model_name: SLANet # To use static model for inference.
|
||||
use_gpu: true
|
||||
epoch_num: 100
|
||||
log_smooth_window: 20
|
||||
print_batch_step: 20
|
||||
save_model_dir: ./output/SLANet
|
||||
save_epoch_step: 400
|
||||
# evaluation is run every 1000 iterations after the 0th iteration
|
||||
eval_batch_step: [0, 1000]
|
||||
cal_metric_during_train: True
|
||||
pretrained_model: "https://paddle-model-ecology.bj.bcebos.com/paddlex/official_pretrained_model/SLANet_pretrained.pdparams"
|
||||
checkpoints:
|
||||
save_inference_dir: ./output/SLANet/infer
|
||||
use_visualdl: False
|
||||
infer_img: ppstructure/docs/table/table.jpg
|
||||
# for data or label process
|
||||
character_dict_path: ppocr/utils/dict/table_structure_dict.txt
|
||||
character_type: en
|
||||
max_text_length: &max_text_length 500
|
||||
box_format: &box_format 'xyxy' # 'xywh', 'xyxy', 'xyxyxyxy'
|
||||
infer_mode: False
|
||||
use_sync_bn: True
|
||||
save_res_path: 'output/infer'
|
||||
d2s_train_image_shape: [3, -1, -1]
|
||||
amp_custom_white_list: ['concat', 'elementwise_sub', 'set_value']
|
||||
|
||||
Optimizer:
|
||||
name: Adam
|
||||
beta1: 0.9
|
||||
beta2: 0.999
|
||||
clip_norm: 5.0
|
||||
lr:
|
||||
name: Piecewise
|
||||
learning_rate: 0.001
|
||||
decay_epochs : [40, 50]
|
||||
values : [0.001, 0.0001, 0.00005]
|
||||
regularizer:
|
||||
name: 'L2'
|
||||
factor: 0.00000
|
||||
|
||||
Architecture:
|
||||
model_type: table
|
||||
algorithm: SLANet
|
||||
Backbone:
|
||||
name: PPLCNet
|
||||
scale: 1.0
|
||||
pretrained: true
|
||||
use_ssld: true
|
||||
Neck:
|
||||
name: CSPPAN
|
||||
out_channels: 96
|
||||
Head:
|
||||
name: SLAHead
|
||||
hidden_size: 256
|
||||
max_text_length: *max_text_length
|
||||
loc_reg_num: &loc_reg_num 4
|
||||
|
||||
Loss:
|
||||
name: SLALoss
|
||||
structure_weight: 1.0
|
||||
loc_weight: 2.0
|
||||
loc_loss: smooth_l1
|
||||
|
||||
PostProcess:
|
||||
name: TableLabelDecode
|
||||
merge_no_span_structure: &merge_no_span_structure True
|
||||
|
||||
Metric:
|
||||
name: TableMetric
|
||||
main_indicator: acc
|
||||
compute_bbox_metric: False
|
||||
loc_reg_num: *loc_reg_num
|
||||
box_format: *box_format
|
||||
|
||||
Train:
|
||||
dataset:
|
||||
name: PubTabDataSet
|
||||
data_dir: train_data/table/pubtabnet/train/
|
||||
label_file_list: [train_data/table/pubtabnet/PubTabNet_2.0.0_train.jsonl]
|
||||
transforms:
|
||||
- DecodeImage: # load image
|
||||
img_mode: BGR
|
||||
channel_first: False
|
||||
- TableLabelEncode:
|
||||
learn_empty_box: False
|
||||
merge_no_span_structure: *merge_no_span_structure
|
||||
replace_empty_cell_token: False
|
||||
loc_reg_num: *loc_reg_num
|
||||
max_text_length: *max_text_length
|
||||
- TableBoxEncode:
|
||||
in_box_format: *box_format
|
||||
out_box_format: *box_format
|
||||
- ResizeTableImage:
|
||||
max_len: 488
|
||||
- NormalizeImage:
|
||||
scale: 1./255.
|
||||
mean: [0.485, 0.456, 0.406]
|
||||
std: [0.229, 0.224, 0.225]
|
||||
order: 'hwc'
|
||||
- PaddingTableImage:
|
||||
size: [488, 488]
|
||||
- ToCHWImage:
|
||||
- KeepKeys:
|
||||
keep_keys: ['image', 'structure', 'bboxes', 'bbox_masks', 'length', 'shape']
|
||||
loader:
|
||||
shuffle: True
|
||||
batch_size_per_card: 48
|
||||
drop_last: True
|
||||
num_workers: 1
|
||||
|
||||
Eval:
|
||||
dataset:
|
||||
name: PubTabDataSet
|
||||
data_dir: train_data/table/pubtabnet/val/
|
||||
label_file_list: [train_data/table/pubtabnet/PubTabNet_2.0.0_val.jsonl]
|
||||
transforms:
|
||||
- DecodeImage: # load image
|
||||
img_mode: BGR
|
||||
channel_first: False
|
||||
- TableLabelEncode:
|
||||
learn_empty_box: False
|
||||
merge_no_span_structure: *merge_no_span_structure
|
||||
replace_empty_cell_token: False
|
||||
loc_reg_num: *loc_reg_num
|
||||
max_text_length: *max_text_length
|
||||
- TableBoxEncode:
|
||||
in_box_format: *box_format
|
||||
out_box_format: *box_format
|
||||
- ResizeTableImage:
|
||||
max_len: 488
|
||||
- NormalizeImage:
|
||||
scale: 1./255.
|
||||
mean: [0.485, 0.456, 0.406]
|
||||
std: [0.229, 0.224, 0.225]
|
||||
order: 'hwc'
|
||||
- PaddingTableImage:
|
||||
size: [488, 488]
|
||||
- ToCHWImage:
|
||||
- KeepKeys:
|
||||
keep_keys: ['image', 'structure', 'bboxes', 'bbox_masks', 'length', 'shape']
|
||||
loader:
|
||||
shuffle: False
|
||||
drop_last: False
|
||||
batch_size_per_card: 48
|
||||
num_workers: 1
|
||||
139
configs/table/SLANet_lcnetv2.yml
Normal file
139
configs/table/SLANet_lcnetv2.yml
Normal file
@@ -0,0 +1,139 @@
|
||||
Global:
|
||||
use_gpu: true
|
||||
epoch_num: 50
|
||||
log_smooth_window: 20
|
||||
print_batch_step: 10
|
||||
save_model_dir: ./output/SLANet_lcnetv2
|
||||
save_epoch_step: 20
|
||||
# evaluation is run every 1000 iterations after the 0th iteration
|
||||
eval_batch_step: [0, 1000]
|
||||
cal_metric_during_train: True
|
||||
pretrained_model:
|
||||
checkpoints:
|
||||
save_inference_dir: ./SLANet_lcnetv2_infer
|
||||
use_visualdl: False
|
||||
infer_img: ppstructure/docs/table/table.jpg
|
||||
# for data or label process
|
||||
character_dict_path: ppocr/utils/dict/table_structure_dict.txt
|
||||
character_type: en
|
||||
max_text_length: &max_text_length 500
|
||||
box_format: &box_format 'xyxy' # 'xywh', 'xyxy', 'xyxyxyxy'
|
||||
infer_mode: False
|
||||
use_sync_bn: True
|
||||
save_res_path: 'output/infer'
|
||||
d2s_train_image_shape: [3, -1, -1]
|
||||
amp_custom_white_list: ['concat', 'elementwise_sub', 'set_value']
|
||||
|
||||
Optimizer:
|
||||
name: Adam
|
||||
beta1: 0.9
|
||||
beta2: 0.999
|
||||
clip_norm: 5.0
|
||||
lr:
|
||||
learning_rate: 0.001
|
||||
regularizer:
|
||||
name: 'L2'
|
||||
factor: 0.00000
|
||||
|
||||
Architecture:
|
||||
model_type: table
|
||||
algorithm: SLANet
|
||||
Backbone:
|
||||
name: PPLCNetV2_base
|
||||
Neck:
|
||||
name: CSPPAN
|
||||
out_channels: 96
|
||||
Head:
|
||||
name: SLAHead
|
||||
hidden_size: 256
|
||||
max_text_length: *max_text_length
|
||||
loc_reg_num: &loc_reg_num 4
|
||||
|
||||
Loss:
|
||||
name: SLALoss
|
||||
structure_weight: 1.0
|
||||
loc_weight: 2.0
|
||||
loc_loss: smooth_l1
|
||||
|
||||
PostProcess:
|
||||
name: TableLabelDecode
|
||||
merge_no_span_structure: &merge_no_span_structure True
|
||||
|
||||
Metric:
|
||||
name: TableMetric
|
||||
main_indicator: acc
|
||||
compute_bbox_metric: False
|
||||
loc_reg_num: *loc_reg_num
|
||||
box_format: *box_format
|
||||
|
||||
Train:
|
||||
dataset:
|
||||
name: PubTabDataSet
|
||||
data_dir: ../table_data/pubtabnet/train/
|
||||
label_file_list: [../table_data/pubtabnet/PubTabNet_2.0.0_train.jsonl]
|
||||
transforms:
|
||||
- DecodeImage: # load image
|
||||
img_mode: BGR
|
||||
channel_first: False
|
||||
- TableLabelEncode:
|
||||
learn_empty_box: False
|
||||
merge_no_span_structure: *merge_no_span_structure
|
||||
replace_empty_cell_token: False
|
||||
loc_reg_num: *loc_reg_num
|
||||
max_text_length: *max_text_length
|
||||
- TableBoxEncode:
|
||||
in_box_format: *box_format
|
||||
out_box_format: *box_format
|
||||
- ResizeTableImage:
|
||||
max_len: 488
|
||||
- NormalizeImage:
|
||||
scale: 1./255.
|
||||
mean: [0.485, 0.456, 0.406]
|
||||
std: [0.229, 0.224, 0.225]
|
||||
order: 'hwc'
|
||||
- PaddingTableImage:
|
||||
size: [488, 488]
|
||||
- ToCHWImage:
|
||||
- KeepKeys:
|
||||
keep_keys: [ 'image', 'structure', 'bboxes', 'bbox_masks', 'length', 'shape' ]
|
||||
loader:
|
||||
shuffle: True
|
||||
batch_size_per_card: 24
|
||||
drop_last: True
|
||||
num_workers: 8
|
||||
|
||||
Eval:
|
||||
dataset:
|
||||
name: PubTabDataSet
|
||||
data_dir: ../table_data/pubtabnet/val/
|
||||
label_file_list: [../table_data/pubtabnet/PubTabNet_2.0.0_val.jsonl]
|
||||
transforms:
|
||||
- DecodeImage: # load image
|
||||
img_mode: BGR
|
||||
channel_first: False
|
||||
- TableLabelEncode:
|
||||
learn_empty_box: False
|
||||
merge_no_span_structure: *merge_no_span_structure
|
||||
replace_empty_cell_token: False
|
||||
loc_reg_num: *loc_reg_num
|
||||
max_text_length: *max_text_length
|
||||
- TableBoxEncode:
|
||||
in_box_format: *box_format
|
||||
out_box_format: *box_format
|
||||
- ResizeTableImage:
|
||||
max_len: 488
|
||||
- NormalizeImage:
|
||||
scale: 1./255.
|
||||
mean: [0.485, 0.456, 0.406]
|
||||
std: [0.229, 0.224, 0.225]
|
||||
order: 'hwc'
|
||||
- PaddingTableImage:
|
||||
size: [488, 488]
|
||||
- ToCHWImage:
|
||||
- KeepKeys:
|
||||
keep_keys: [ 'image', 'structure', 'bboxes', 'bbox_masks', 'shape' ]
|
||||
loader:
|
||||
shuffle: False
|
||||
drop_last: False
|
||||
batch_size_per_card: 48
|
||||
num_workers: 4
|
||||
143
configs/table/SLANet_plus.yml
Normal file
143
configs/table/SLANet_plus.yml
Normal file
@@ -0,0 +1,143 @@
|
||||
Global:
|
||||
model_name: SLANet_plus # To use static model for inference.
|
||||
use_gpu: True
|
||||
epoch_num: 400
|
||||
log_smooth_window: 20
|
||||
print_batch_step: 20
|
||||
save_model_dir: ./output/SLANet_plus
|
||||
save_epoch_step: 400
|
||||
# evaluation is run every 331 iterations after the 0th iteration
|
||||
eval_batch_step: [0, 331]
|
||||
cal_metric_during_train: True
|
||||
pretrained_model: "https://paddle-model-ecology.bj.bcebos.com/paddlex/official_pretrained_model/SLANet_plus_pretrained.pdparams"
|
||||
checkpoints:
|
||||
save_inference_dir: ./output/SLANet_plus/infer
|
||||
use_visualdl: False
|
||||
infer_img: ppstructure/docs/table/table.jpg
|
||||
# for data or label process
|
||||
character_dict_path: ppocr/utils/dict/table_structure_dict_ch.txt
|
||||
character_type: en
|
||||
max_text_length: &max_text_length 500
|
||||
box_format: &box_format xyxyxyxy # 'xywh', 'xyxy', 'xyxyxyxy'
|
||||
infer_mode: False
|
||||
use_sync_bn: True
|
||||
save_res_path: output/infer
|
||||
d2s_train_image_shape: [3, 488, 488]
|
||||
|
||||
Optimizer:
|
||||
name: Adam
|
||||
beta1: 0.9
|
||||
beta2: 0.999
|
||||
clip_norm: 5.0
|
||||
lr:
|
||||
learning_rate: 0.001
|
||||
regularizer:
|
||||
name: 'L2'
|
||||
factor: 0.00000
|
||||
|
||||
Architecture:
|
||||
model_type: table
|
||||
algorithm: SLANet
|
||||
Backbone:
|
||||
name: PPLCNet
|
||||
scale: 1.0
|
||||
pretrained: True
|
||||
use_ssld: True
|
||||
Neck:
|
||||
name: CSPPAN
|
||||
out_channels: 96
|
||||
Head:
|
||||
name: SLAHead
|
||||
hidden_size: 256
|
||||
max_text_length: *max_text_length
|
||||
loc_reg_num: &loc_reg_num 8
|
||||
|
||||
Loss:
|
||||
name: SLALoss
|
||||
structure_weight: 1.0
|
||||
loc_weight: 2.0
|
||||
loc_loss: smooth_l1
|
||||
|
||||
PostProcess:
|
||||
name: TableLabelDecode
|
||||
merge_no_span_structure: &merge_no_span_structure True
|
||||
|
||||
Metric:
|
||||
name: TableMetric
|
||||
main_indicator: acc
|
||||
compute_bbox_metric: False
|
||||
loc_reg_num: *loc_reg_num
|
||||
box_format: *box_format
|
||||
del_thead_tbody: True
|
||||
|
||||
Train:
|
||||
dataset:
|
||||
name: PubTabDataSet
|
||||
data_dir: train_data/table/train/
|
||||
label_file_list: [train_data/table/train.txt]
|
||||
transforms:
|
||||
- DecodeImage:
|
||||
img_mode: BGR
|
||||
channel_first: False
|
||||
- TableLabelEncode:
|
||||
learn_empty_box: False
|
||||
merge_no_span_structure: *merge_no_span_structure
|
||||
replace_empty_cell_token: False
|
||||
loc_reg_num: *loc_reg_num
|
||||
max_text_length: *max_text_length
|
||||
- TableBoxEncode:
|
||||
in_box_format: *box_format
|
||||
out_box_format: *box_format
|
||||
- ResizeTableImage:
|
||||
max_len: 488
|
||||
- NormalizeImage:
|
||||
scale: 1./255.
|
||||
mean: [0.485, 0.456, 0.406]
|
||||
std: [0.229, 0.224, 0.225]
|
||||
order: 'hwc'
|
||||
- PaddingTableImage:
|
||||
size: [488, 488]
|
||||
- ToCHWImage:
|
||||
- KeepKeys:
|
||||
keep_keys: ['image', 'structure', 'bboxes', 'bbox_masks', 'length', 'shape']
|
||||
loader:
|
||||
shuffle: True
|
||||
batch_size_per_card: 48
|
||||
drop_last: True
|
||||
num_workers: 1
|
||||
|
||||
Eval:
|
||||
dataset:
|
||||
name: PubTabDataSet
|
||||
data_dir: train_data/table/val/
|
||||
label_file_list: [train_data/table/val.txt]
|
||||
transforms:
|
||||
- DecodeImage:
|
||||
img_mode: BGR
|
||||
channel_first: False
|
||||
- TableLabelEncode:
|
||||
learn_empty_box: False
|
||||
merge_no_span_structure: *merge_no_span_structure
|
||||
replace_empty_cell_token: False
|
||||
loc_reg_num: *loc_reg_num
|
||||
max_text_length: *max_text_length
|
||||
- TableBoxEncode:
|
||||
in_box_format: *box_format
|
||||
out_box_format: *box_format
|
||||
- ResizeTableImage:
|
||||
max_len: 488
|
||||
- NormalizeImage:
|
||||
scale: 1./255.
|
||||
mean: [0.485, 0.456, 0.406]
|
||||
std: [0.229, 0.224, 0.225]
|
||||
order: 'hwc'
|
||||
- PaddingTableImage:
|
||||
size: [488, 488]
|
||||
- ToCHWImage:
|
||||
- KeepKeys:
|
||||
keep_keys: ['image', 'structure', 'bboxes', 'bbox_masks', 'length', 'shape']
|
||||
loader:
|
||||
shuffle: False
|
||||
drop_last: False
|
||||
batch_size_per_card: 48
|
||||
num_workers: 1
|
||||
145
configs/table/table_master.yml
Executable file
145
configs/table/table_master.yml
Executable file
@@ -0,0 +1,145 @@
|
||||
Global:
|
||||
use_gpu: true
|
||||
epoch_num: 17
|
||||
log_smooth_window: 20
|
||||
print_batch_step: 100
|
||||
save_model_dir: ./output/table_master/
|
||||
save_epoch_step: 17
|
||||
eval_batch_step: [0, 6259]
|
||||
cal_metric_during_train: true
|
||||
pretrained_model: null
|
||||
checkpoints:
|
||||
save_inference_dir: output/table_master/infer
|
||||
use_visualdl: false
|
||||
infer_img: ppstructure/docs/table/table.jpg
|
||||
save_res_path: ./output/table_master
|
||||
character_dict_path: ppocr/utils/dict/table_master_structure_dict.txt
|
||||
infer_mode: false
|
||||
max_text_length: &max_text_length 500
|
||||
box_format: &box_format 'xywh' # 'xywh', 'xyxy', 'xyxyxyxy'
|
||||
d2s_train_image_shape: [3, 480, 480]
|
||||
|
||||
|
||||
Optimizer:
|
||||
name: Adam
|
||||
beta1: 0.9
|
||||
beta2: 0.999
|
||||
lr:
|
||||
name: MultiStepDecay
|
||||
learning_rate: 0.001
|
||||
milestones: [12, 15]
|
||||
gamma: 0.1
|
||||
warmup_epoch: 0.02
|
||||
regularizer:
|
||||
name: L2
|
||||
factor: 0.0
|
||||
|
||||
Architecture:
|
||||
model_type: table
|
||||
algorithm: TableMaster
|
||||
Backbone:
|
||||
name: TableResNetExtra
|
||||
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
|
||||
hidden_size: 512
|
||||
headers: 8
|
||||
dropout: 0
|
||||
d_ff: 2024
|
||||
max_text_length: *max_text_length
|
||||
loc_reg_num: &loc_reg_num 4
|
||||
|
||||
Loss:
|
||||
name: TableMasterLoss
|
||||
ignore_index: 42 # set to len of dict + 3
|
||||
|
||||
PostProcess:
|
||||
name: TableMasterLabelDecode
|
||||
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
|
||||
|
||||
Train:
|
||||
dataset:
|
||||
name: PubTabDataSet
|
||||
data_dir: train_data/table/pubtabnet/train/
|
||||
label_file_list: [train_data/table/pubtabnet/PubTabNet_2.0.0_train.jsonl]
|
||||
transforms:
|
||||
- DecodeImage:
|
||||
img_mode: BGR
|
||||
channel_first: False
|
||||
- TableMasterLabelEncode:
|
||||
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_length
|
||||
- ResizeTableImage:
|
||||
max_len: 480
|
||||
resize_bboxes: True
|
||||
- PaddingTableImage:
|
||||
size: [480, 480]
|
||||
- TableBoxEncode:
|
||||
in_box_format: *box_format
|
||||
out_box_format: *box_format
|
||||
- NormalizeImage:
|
||||
scale: 1./255.
|
||||
mean: [0.5, 0.5, 0.5]
|
||||
std: [0.5, 0.5, 0.5]
|
||||
order: hwc
|
||||
- ToCHWImage: null
|
||||
- KeepKeys:
|
||||
keep_keys: [image, structure, bboxes, bbox_masks, shape]
|
||||
loader:
|
||||
shuffle: True
|
||||
batch_size_per_card: 10
|
||||
drop_last: True
|
||||
num_workers: 8
|
||||
|
||||
Eval:
|
||||
dataset:
|
||||
name: PubTabDataSet
|
||||
data_dir: train_data/table/pubtabnet/val/
|
||||
label_file_list: [train_data/table/pubtabnet/PubTabNet_2.0.0_val.jsonl]
|
||||
transforms:
|
||||
- DecodeImage:
|
||||
img_mode: BGR
|
||||
channel_first: False
|
||||
- TableMasterLabelEncode:
|
||||
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_length
|
||||
- ResizeTableImage:
|
||||
max_len: 480
|
||||
resize_bboxes: True
|
||||
- PaddingTableImage:
|
||||
size: [480, 480]
|
||||
- TableBoxEncode:
|
||||
in_box_format: *box_format
|
||||
out_box_format: *box_format
|
||||
- NormalizeImage:
|
||||
scale: 1./255.
|
||||
mean: [0.5, 0.5, 0.5]
|
||||
std: [0.5, 0.5, 0.5]
|
||||
order: hwc
|
||||
- ToCHWImage: null
|
||||
- KeepKeys:
|
||||
keep_keys: [image, structure, bboxes, bbox_masks, shape]
|
||||
loader:
|
||||
shuffle: False
|
||||
drop_last: False
|
||||
batch_size_per_card: 10
|
||||
num_workers: 8
|
||||
129
configs/table/table_mv3.yml
Executable file
129
configs/table/table_mv3.yml
Executable file
@@ -0,0 +1,129 @@
|
||||
Global:
|
||||
use_gpu: true
|
||||
epoch_num: 400
|
||||
log_smooth_window: 20
|
||||
print_batch_step: 5
|
||||
save_model_dir: ./output/table_mv3/
|
||||
save_epoch_step: 400
|
||||
# evaluation is run every 400 iterations after the 0th iteration
|
||||
eval_batch_step: [0, 400]
|
||||
cal_metric_during_train: True
|
||||
pretrained_model:
|
||||
checkpoints:
|
||||
save_inference_dir:
|
||||
use_visualdl: False
|
||||
infer_img: ppstructure/docs/table/table.jpg
|
||||
save_res_path: output/table_mv3
|
||||
# for data or label process
|
||||
character_dict_path: ppocr/utils/dict/table_structure_dict.txt
|
||||
character_type: en
|
||||
max_text_length: &max_text_length 500
|
||||
box_format: &box_format 'xyxy' # 'xywh', 'xyxy', 'xyxyxyxy'
|
||||
infer_mode: False
|
||||
amp_custom_black_list: ['matmul_v2','elementwise_add']
|
||||
|
||||
Optimizer:
|
||||
name: Adam
|
||||
beta1: 0.9
|
||||
beta2: 0.999
|
||||
clip_norm: 5.0
|
||||
lr:
|
||||
learning_rate: 0.001
|
||||
regularizer:
|
||||
name: 'L2'
|
||||
factor: 0.00000
|
||||
|
||||
Architecture:
|
||||
model_type: table
|
||||
algorithm: TableAttn
|
||||
Backbone:
|
||||
name: MobileNetV3
|
||||
scale: 1.0
|
||||
model_name: small
|
||||
disable_se: true
|
||||
Head:
|
||||
name: TableAttentionHead
|
||||
hidden_size: 256
|
||||
max_text_length: *max_text_length
|
||||
loc_reg_num: &loc_reg_num 4
|
||||
|
||||
Loss:
|
||||
name: TableAttentionLoss
|
||||
structure_weight: 100.0
|
||||
loc_weight: 10000.0
|
||||
|
||||
PostProcess:
|
||||
name: TableLabelDecode
|
||||
|
||||
Metric:
|
||||
name: TableMetric
|
||||
main_indicator: acc
|
||||
compute_bbox_metric: false # cost many time, set False for training
|
||||
|
||||
Train:
|
||||
dataset:
|
||||
name: PubTabDataSet
|
||||
data_dir: train_data/table/pubtabnet/train/
|
||||
label_file_list: [train_data/table/pubtabnet/PubTabNet_2.0.0_train.jsonl]
|
||||
transforms:
|
||||
- DecodeImage: # load image
|
||||
img_mode: BGR
|
||||
channel_first: False
|
||||
- TableLabelEncode:
|
||||
learn_empty_box: False
|
||||
merge_no_span_structure: False
|
||||
replace_empty_cell_token: False
|
||||
loc_reg_num: *loc_reg_num
|
||||
max_text_length: *max_text_length
|
||||
- TableBoxEncode:
|
||||
- ResizeTableImage:
|
||||
max_len: 488
|
||||
- NormalizeImage:
|
||||
scale: 1./255.
|
||||
mean: [0.485, 0.456, 0.406]
|
||||
std: [0.229, 0.224, 0.225]
|
||||
order: 'hwc'
|
||||
- PaddingTableImage:
|
||||
size: [488, 488]
|
||||
- ToCHWImage:
|
||||
- KeepKeys:
|
||||
keep_keys: [ 'image', 'structure', 'bboxes', 'bbox_masks', 'shape' ]
|
||||
loader:
|
||||
shuffle: True
|
||||
batch_size_per_card: 48
|
||||
drop_last: True
|
||||
num_workers: 1
|
||||
|
||||
Eval:
|
||||
dataset:
|
||||
name: PubTabDataSet
|
||||
data_dir: train_data/table/pubtabnet/val/
|
||||
label_file_list: [train_data/table/pubtabnet/PubTabNet_2.0.0_val.jsonl]
|
||||
transforms:
|
||||
- DecodeImage: # load image
|
||||
img_mode: BGR
|
||||
channel_first: False
|
||||
- TableLabelEncode:
|
||||
learn_empty_box: False
|
||||
merge_no_span_structure: False
|
||||
replace_empty_cell_token: False
|
||||
loc_reg_num: *loc_reg_num
|
||||
max_text_length: *max_text_length
|
||||
- TableBoxEncode:
|
||||
- ResizeTableImage:
|
||||
max_len: 488
|
||||
- NormalizeImage:
|
||||
scale: 1./255.
|
||||
mean: [0.485, 0.456, 0.406]
|
||||
std: [0.229, 0.224, 0.225]
|
||||
order: 'hwc'
|
||||
- PaddingTableImage:
|
||||
size: [488, 488]
|
||||
- ToCHWImage:
|
||||
- KeepKeys:
|
||||
keep_keys: [ 'image', 'structure', 'bboxes', 'bbox_masks', 'shape' ]
|
||||
loader:
|
||||
shuffle: False
|
||||
drop_last: False
|
||||
batch_size_per_card: 48
|
||||
num_workers: 1
|
||||
Reference in New Issue
Block a user