PaddleOCR ppstructure的表格识别模型不收敛,acc=0

fnatzsnv  于 2022-10-27  发布在  其他
关注(0)|答案(2)|浏览(576)

版本信息:
python 3.8.8
paddle 2.2.1
cuda 11.6
cudnn 8.2.1
release 2.5

配置:
batch_size_per_card: 1
num_workers: 1

问题:loss不下降了

补充说明:从lr=0.001开始训练,loss下降到6左右不下降了,下调lr也没有怎么下降,acc始终是0

配置文件其他信息如下:
Global:
use_gpu: true
epoch_num: 400
log_smooth_window: 20
print_batch_step: 5
save_model_dir: ./output/table_mv3/
save_epoch_step: 3

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: doc/table/table.jpg

for data or label process

character_dict_path: ppocr/utils/dict/table_structure_dict.txt
character_type: en
max_text_length: 100
max_elem_length: 800
max_cell_num: 500
infer_mode: False
process_total_num: 0
process_cut_num: 0

Optimizer:
name: Adam
beta1: 0.9
beta2: 0.999
clip_norm: 5.0
lr:
#learning_rate: 0.001
learning_rate: 0.000005
regularizer:
name: 'L2'
factor: 0.00000

Architecture:
model_type: table
algorithm: TableAttn
Backbone:
name: MobileNetV3
scale: 1.0
model_name: large
Head:
name: TableAttentionHead
hidden_size: 256
l2_decay: 0.00001
loc_type: 2
max_text_length: 100
max_elem_length: 800
max_cell_num: 500

Loss:
name: TableAttentionLoss
structure_weight: 100.0
loc_weight: 10000.0

PostProcess:
name: TableLabelDecode

Metric:
name: TableMetric
main_indicator: acc

Train:
dataset:
name: PubTabDataSet
data_dir: train_data/table/pubtabnet/train/
label_file_path: train_data/table/pubtabnet/PubTabNet_2.0.0_train.jsonl
transforms:

  • DecodeImage: # load image
    img_mode: BGR
    channel_first: False
  • ResizeTableImage:
    max_len: 488
  • TableLabelEncode:
  • NormalizeImage:
    scale: 1./255.
    mean: [0.485, 0.456, 0.406]
    std: [0.229, 0.224, 0.225]
    order: 'hwc'
  • PaddingTableImage:
  • ToCHWImage:
  • KeepKeys:
    keep_keys: ['image', 'structure', 'bbox_list', 'sp_tokens', 'bbox_list_mask']
    loader:
    shuffle: True
    batch_size_per_card: 1
    #batch_size_per_card: 32
    drop_last: True
    num_workers: 1

Eval:
dataset:
name: PubTabDataSet
data_dir: train_data/table/pubtabnet/val/
label_file_path: train_data/table/pubtabnet/PubTabNet_2.0.0_val.jsonl
transforms:

  • DecodeImage: # load image
    img_mode: BGR
    channel_first: False
  • ResizeTableImage:
    max_len: 488
  • TableLabelEncode:
  • NormalizeImage:
    scale: 1./255.
    mean: [0.485, 0.456, 0.406]
    std: [0.229, 0.224, 0.225]
    order: 'hwc'
  • PaddingTableImage:
  • ToCHWImage:
  • KeepKeys:
    keep_keys: ['image', 'structure', 'bbox_list', 'sp_tokens', 'bbox_list_mask']
    loader:
    shuffle: False
    drop_last: False
    batch_size_per_card: 1
    num_workers: 1
qaxu7uf2

qaxu7uf21#

你好,建议训练的时候加载提供的预训练模型,同时减小学习率

rbpvctlc

rbpvctlc2#

您好,请教您两个问题。
1)表格识别有提供预训练模型吗
2)pubtabnet的标注数据需要怎么转换吗?是不是不用pubtabnet自带的标注

相关问题