re_vi_layoutxlm_xfund_zh.yml 3.4 KB
Newer Older
1 2
Global:
  use_gpu: True
littletomatodonkey's avatar
littletomatodonkey 已提交
3
  epoch_num: &epoch_num 130
4 5
  log_smooth_window: 10
  print_batch_step: 10
littletomatodonkey's avatar
littletomatodonkey 已提交
6
  save_model_dir: ./output/re_vi_layoutxlm_xfund_zh
7 8
  save_epoch_step: 2000
  # evaluation is run every 10 iterations after the 0th iteration
文幕地方's avatar
文幕地方 已提交
9
  eval_batch_step: [ 0, 19 ]
10 11 12
  cal_metric_during_train: False
  save_inference_dir:
  use_visualdl: False
文幕地方's avatar
文幕地方 已提交
13
  seed: 2022
14
  infer_img: ppstructure/docs/vqa/input/zh_val_21.jpg
littletomatodonkey's avatar
littletomatodonkey 已提交
15
  save_res_path: ./output/re/xfund_zh/with_gt
16 17 18 19 20 21 22

Architecture:
  model_type: vqa
  algorithm: &algorithm "LayoutXLM"
  Transform:
  Backbone:
    name: LayoutXLMForRe
文幕地方's avatar
文幕地方 已提交
23
    pretrained: True
littletomatodonkey's avatar
littletomatodonkey 已提交
24
    mode: vi
文幕地方's avatar
文幕地方 已提交
25
    checkpoints:
26 27 28 29 30 31 32 33 34 35 36 37

Loss:
  name: LossFromOutput
  key: loss
  reduction: mean

Optimizer:
  name: AdamW
  beta1: 0.9
  beta2: 0.999
  clip_norm: 10
  lr:
文幕地方's avatar
文幕地方 已提交
38 39
    learning_rate: 0.00005
    warmup_epoch: 10
40
  regularizer:
文幕地方's avatar
文幕地方 已提交
41
    name: L2
42 43 44 45 46 47 48 49 50 51 52 53 54 55
    factor: 0.00000
    
PostProcess:
  name: VQAReTokenLayoutLMPostProcess

Metric:
  name: VQAReTokenMetric
  main_indicator: hmean

Train:
  dataset:
    name: SimpleDataSet
    data_dir: train_data/XFUND/zh_train/image
    label_file_list: 
56
      - train_data/XFUND/zh_train/train.json
57 58 59 60 61 62 63 64
    ratio_list: [ 1.0 ]
    transforms:
      - DecodeImage: # load image
          img_mode: RGB
          channel_first: False
      - VQATokenLabelEncode: # Class handling label
          contains_re: True
          algorithm: *algorithm
65
          class_path: &class_path train_data/XFUND/class_list_xfun.txt
littletomatodonkey's avatar
littletomatodonkey 已提交
66 67
          use_textline_bbox_info: &use_textline_bbox_info True
          order_method: &order_method "tb-yx"
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
      - VQATokenPad:
          max_seq_len: &max_seq_len 512
          return_attention_mask: True
      - VQAReTokenRelation:
      - VQAReTokenChunk:
          max_seq_len: *max_seq_len
      - Resize:
          size: [224,224]
      - NormalizeImage:
          scale: 1
          mean: [ 123.675, 116.28, 103.53 ]
          std: [ 58.395, 57.12, 57.375 ]
          order: 'hwc'
      - ToCHWImage:
      - KeepKeys:
83
          keep_keys: [ 'input_ids', 'bbox','attention_mask', 'token_type_ids', 'image', 'entities', 'relations'] # dataloader will return list in this order
84 85 86
  loader:
    shuffle: True
    drop_last: False
littletomatodonkey's avatar
littletomatodonkey 已提交
87 88
    batch_size_per_card: 2
    num_workers: 4
89 90 91 92 93 94 95
    collate_fn: ListCollator

Eval:
  dataset:
    name: SimpleDataSet
    data_dir: train_data/XFUND/zh_val/image
    label_file_list:
96
      - train_data/XFUND/zh_val/val.json
97 98 99 100 101 102 103 104
    transforms:
      - DecodeImage: # load image
          img_mode: RGB
          channel_first: False
      - VQATokenLabelEncode: # Class handling label
          contains_re: True
          algorithm: *algorithm
          class_path: *class_path
littletomatodonkey's avatar
littletomatodonkey 已提交
105 106
          use_textline_bbox_info: *use_textline_bbox_info
          order_method: *order_method
107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
      - VQATokenPad:
          max_seq_len: *max_seq_len
          return_attention_mask: True
      - VQAReTokenRelation:
      - VQAReTokenChunk:
          max_seq_len: *max_seq_len
      - Resize:
          size: [224,224]
      - NormalizeImage:
          scale: 1
          mean: [ 123.675, 116.28, 103.53 ]
          std: [ 58.395, 57.12, 57.375 ]
          order: 'hwc'
      - ToCHWImage:
      - KeepKeys:
122
          keep_keys: [ 'input_ids', 'bbox', 'attention_mask', 'token_type_ids', 'image', 'entities', 'relations'] # dataloader will return list in this order
123 124 125 126
  loader:
    shuffle: False
    drop_last: False
    batch_size_per_card: 8
文幕地方's avatar
文幕地方 已提交
127
    num_workers: 8
128
    collate_fn: ListCollator
littletomatodonkey's avatar
littletomatodonkey 已提交
129