layoutlmv2_sroie.yml 3.1 KB
Newer Older
文幕地方's avatar
文幕地方 已提交
1 2 3 4 5
Global:
  use_gpu: True
  epoch_num: &epoch_num 200
  log_smooth_window: 10
  print_batch_step: 10
6
  save_model_dir: ./output/ser_layoutlmv2_sroie
文幕地方's avatar
文幕地方 已提交
7 8
  save_epoch_step: 2000
  # evaluation is run every 10 iterations after the 0th iteration
9
  eval_batch_step: [ 0, 200 ]
文幕地方's avatar
文幕地方 已提交
10 11 12 13
  cal_metric_during_train: False
  save_inference_dir:
  use_visualdl: False
  seed: 2022
14 15
  infer_img: train_data/SROIE/test/X00016469670.jpg
  save_res_path: ./output/ser_layoutlmv2_sroie/res/
文幕地方's avatar
文幕地方 已提交
16 17 18 19 20 21 22 23 24

Architecture:
  model_type: vqa
  algorithm: &algorithm "LayoutLMv2"
  Transform:
  Backbone:
    name: LayoutLMv2ForSer
    pretrained: True
    checkpoints:
25
    num_classes: &num_classes 9
文幕地方's avatar
文幕地方 已提交
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

Loss:
  name: VQASerTokenLayoutLMLoss
  num_classes: *num_classes

Optimizer:
  name: AdamW
  beta1: 0.9
  beta2: 0.999
  lr:
    name: Linear
    learning_rate: 0.00005
    epochs: *epoch_num
    warmup_epoch: 2
  regularizer:
  
    name: L2
    factor: 0.00000
    
PostProcess:
  name: VQASerTokenLayoutLMPostProcess
47
  class_path: &class_path ./train_data/SROIE/class_list.txt
文幕地方's avatar
文幕地方 已提交
48 49 50 51 52 53 54 55

Metric:
  name: VQASerTokenMetric
  main_indicator: hmean

Train:
  dataset:
    name: SimpleDataSet
56
    data_dir: ./train_data/SROIE/train
文幕地方's avatar
文幕地方 已提交
57
    label_file_list: 
58
      - ./train_data/SROIE/train.txt
文幕地方's avatar
文幕地方 已提交
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
    transforms:
      - DecodeImage: # load image
          img_mode: RGB
          channel_first: False
      - VQATokenLabelEncode: # Class handling label
          contains_re: False
          algorithm: *algorithm
          class_path: *class_path
      - VQATokenPad:
          max_seq_len: &max_seq_len 512
          return_attention_mask: True
      - VQASerTokenChunk:
          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:
81 82
          # dataloader will return list in this order
          keep_keys: [ 'input_ids', 'bbox', 'attention_mask', 'token_type_ids', 'image', 'labels']
文幕地方's avatar
文幕地方 已提交
83 84 85 86 87 88 89 90 91
  loader:
    shuffle: True
    drop_last: False
    batch_size_per_card: 8
    num_workers: 4

Eval:
  dataset:
    name: SimpleDataSet
92 93 94
    data_dir: ./train_data/SROIE/test
    label_file_list: 
      - ./train_data/SROIE/test.txt
文幕地方's avatar
文幕地方 已提交
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
    transforms:
      - DecodeImage: # load image
          img_mode: RGB
          channel_first: False
      - VQATokenLabelEncode: # Class handling label
          contains_re: False
          algorithm: *algorithm
          class_path: *class_path
      - VQATokenPad:
          max_seq_len: *max_seq_len
          return_attention_mask: True
      - VQASerTokenChunk:
          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:
117 118
          # dataloader will return list in this order
          keep_keys: [ 'input_ids', 'bbox', 'attention_mask', 'token_type_ids', 'image', 'labels']
文幕地方's avatar
文幕地方 已提交
119 120 121 122 123
  loader:
    shuffle: False
    drop_last: False
    batch_size_per_card: 8
    num_workers: 4