2021-06-16 16:47:33 +08:00
|
|
|
Global:
|
|
|
|
use_gpu: true
|
2021-11-10 20:18:48 +08:00
|
|
|
epoch_num: 400
|
2021-06-16 16:47:33 +08:00
|
|
|
log_smooth_window: 20
|
|
|
|
print_batch_step: 5
|
|
|
|
save_model_dir: ./output/table_mv3/
|
2022-06-16 21:24:38 +08:00
|
|
|
save_epoch_step: 400
|
2021-06-21 20:20:25 +08:00
|
|
|
# evaluation is run every 400 iterations after the 0th iteration
|
2021-06-16 16:47:33 +08:00
|
|
|
eval_batch_step: [0, 400]
|
|
|
|
cal_metric_during_train: True
|
2021-11-10 20:18:48 +08:00
|
|
|
pretrained_model:
|
2022-06-16 21:24:38 +08:00
|
|
|
checkpoints:
|
2021-06-16 16:47:33 +08:00
|
|
|
save_inference_dir:
|
|
|
|
use_visualdl: False
|
2022-06-16 21:24:38 +08:00
|
|
|
infer_img: ppstructure/docs/table/table.jpg
|
|
|
|
save_res_path: output/table_mv3
|
2021-06-16 16:47:33 +08:00
|
|
|
# for data or label process
|
|
|
|
character_dict_path: ppocr/utils/dict/table_structure_dict.txt
|
|
|
|
character_type: en
|
2022-08-08 14:50:27 +08:00
|
|
|
max_text_length: &max_text_length 800
|
|
|
|
box_format: &box_format 'xyxy' # 'xywh', 'xyxy', 'xyxyxyxy'
|
2021-06-16 16:47:33 +08:00
|
|
|
infer_mode: False
|
|
|
|
|
|
|
|
Optimizer:
|
|
|
|
name: Adam
|
|
|
|
beta1: 0.9
|
|
|
|
beta2: 0.999
|
|
|
|
clip_norm: 5.0
|
|
|
|
lr:
|
2021-06-21 20:20:25 +08:00
|
|
|
learning_rate: 0.001
|
2021-06-16 16:47:33 +08:00
|
|
|
regularizer:
|
|
|
|
name: 'L2'
|
|
|
|
factor: 0.00000
|
|
|
|
|
|
|
|
Architecture:
|
|
|
|
model_type: table
|
|
|
|
algorithm: TableAttn
|
|
|
|
Backbone:
|
|
|
|
name: MobileNetV3
|
|
|
|
scale: 1.0
|
2021-11-10 20:18:48 +08:00
|
|
|
model_name: large
|
2021-06-16 16:47:33 +08:00
|
|
|
Head:
|
2021-06-21 20:20:25 +08:00
|
|
|
name: TableAttentionHead
|
|
|
|
hidden_size: 256
|
2021-06-16 16:47:33 +08:00
|
|
|
loc_type: 2
|
2022-08-08 14:50:27 +08:00
|
|
|
max_text_length: *max_text_length
|
|
|
|
loc_reg_num: &loc_reg_num 4
|
2021-06-16 16:47:33 +08:00
|
|
|
|
|
|
|
Loss:
|
|
|
|
name: TableAttentionLoss
|
|
|
|
structure_weight: 100.0
|
|
|
|
loc_weight: 10000.0
|
|
|
|
|
|
|
|
PostProcess:
|
|
|
|
name: TableLabelDecode
|
|
|
|
|
|
|
|
Metric:
|
|
|
|
name: TableMetric
|
|
|
|
main_indicator: acc
|
2022-06-27 17:39:35 +08:00
|
|
|
compute_bbox_metric: false # cost many time, set False for training
|
2021-06-16 16:47:33 +08:00
|
|
|
|
|
|
|
Train:
|
|
|
|
dataset:
|
|
|
|
name: PubTabDataSet
|
|
|
|
data_dir: train_data/table/pubtabnet/train/
|
2022-06-27 17:39:35 +08:00
|
|
|
label_file_list: [train_data/table/pubtabnet/PubTabNet_2.0.0_train.jsonl]
|
2021-06-16 16:47:33 +08:00
|
|
|
transforms:
|
|
|
|
- DecodeImage: # load image
|
|
|
|
img_mode: BGR
|
|
|
|
channel_first: False
|
2022-06-16 21:24:38 +08:00
|
|
|
- TableLabelEncode:
|
|
|
|
learn_empty_box: False
|
|
|
|
merge_no_span_structure: False
|
|
|
|
replace_empty_cell_token: False
|
2022-08-08 14:50:27 +08:00
|
|
|
loc_reg_num: *loc_reg_num
|
|
|
|
max_text_length: *max_text_length
|
2022-06-16 21:24:38 +08:00
|
|
|
- TableBoxEncode:
|
2021-06-16 16:47:33 +08:00
|
|
|
- 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:
|
2022-06-16 21:24:38 +08:00
|
|
|
size: [488, 488]
|
2021-06-16 16:47:33 +08:00
|
|
|
- ToCHWImage:
|
|
|
|
- KeepKeys:
|
2022-06-16 21:24:38 +08:00
|
|
|
keep_keys: [ 'image', 'structure', 'bboxes', 'bbox_masks', 'shape' ]
|
2021-06-16 16:47:33 +08:00
|
|
|
loader:
|
|
|
|
shuffle: True
|
|
|
|
batch_size_per_card: 32
|
|
|
|
drop_last: True
|
2021-06-21 20:20:25 +08:00
|
|
|
num_workers: 1
|
2021-06-16 16:47:33 +08:00
|
|
|
|
|
|
|
Eval:
|
|
|
|
dataset:
|
|
|
|
name: PubTabDataSet
|
2022-06-16 21:24:38 +08:00
|
|
|
data_dir: /home/zhoujun20/table/PubTabNe/pubtabnet/val/
|
|
|
|
label_file_list: [/home/zhoujun20/table/PubTabNe/pubtabnet/val_500.jsonl]
|
2021-06-16 16:47:33 +08:00
|
|
|
transforms:
|
|
|
|
- DecodeImage: # load image
|
|
|
|
img_mode: BGR
|
|
|
|
channel_first: False
|
2022-06-16 21:24:38 +08:00
|
|
|
- TableLabelEncode:
|
|
|
|
learn_empty_box: False
|
|
|
|
merge_no_span_structure: False
|
|
|
|
replace_empty_cell_token: False
|
2022-08-08 14:50:27 +08:00
|
|
|
loc_reg_num: *loc_reg_num
|
|
|
|
max_text_length: *max_text_length
|
2022-06-16 21:24:38 +08:00
|
|
|
- TableBoxEncode:
|
2021-06-16 16:47:33 +08:00
|
|
|
- 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:
|
2022-06-16 21:24:38 +08:00
|
|
|
size: [488, 488]
|
2021-06-16 16:47:33 +08:00
|
|
|
- ToCHWImage:
|
|
|
|
- KeepKeys:
|
2022-06-16 21:24:38 +08:00
|
|
|
keep_keys: [ 'image', 'structure', 'bboxes', 'bbox_masks', 'shape' ]
|
2021-06-16 16:47:33 +08:00
|
|
|
loader:
|
|
|
|
shuffle: False
|
|
|
|
drop_last: False
|
|
|
|
batch_size_per_card: 16
|
2021-06-21 20:20:25 +08:00
|
|
|
num_workers: 1
|