rec_r45_visionlan.yml 2.4 KB
Newer Older
A
add vl  
andyjpaddle 已提交
1 2 3 4 5
Global:
  use_gpu: true
  epoch_num: 8
  log_smooth_window: 200
  print_batch_step: 200
A
add vl  
andyjpaddle 已提交
6
  save_model_dir: ./output/rec/r45_visionlan
A
add vl  
andyjpaddle 已提交
7 8 9 10
  save_epoch_step: 1
  # evaluation is run every 2000 iterations
  eval_batch_step: [0, 2000]
  cal_metric_during_train: True
A
add vl  
andyjpaddle 已提交
11
  pretrained_model:
A
add vl  
andyjpaddle 已提交
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
  checkpoints: 
  save_inference_dir:
  use_visualdl: True
  infer_img: doc/imgs_words/en/word_2.png
  # for data or label process
  character_dict_path: ppocr/utils/dict36.txt
  max_text_length: &max_text_length 25
  training_step: &training_step LA
  infer_mode: False
  use_space_char: False
  save_res_path: ./output/rec/predicts_visionlan.txt

Optimizer:
  name: Adam
  beta1: 0.9
  beta2: 0.999
  clip_norm: 20.0
  group_lr: true
  training_step: *training_step
  lr:
    name: Piecewise
    decay_epochs: [6]
    values: [0.0001, 0.00001] 
  regularizer:
    name: 'L2'
    factor: 0

Architecture:
  model_type: rec
  algorithm: VisionLAN
  Transform:
  Backbone:
    name: ResNet45
    strides: [2, 2, 2, 1, 1]
  Head:
    name: VLHead
    n_layers: 3
    n_position: 256
    n_dim: 512
    max_text_length: *max_text_length
    training_step: *training_step

Loss:
  name: VLLoss
  mode: *training_step
  weight_res: 0.5
  weight_mas: 0.5

PostProcess:
  name: VLLabelDecode

Metric:
  name: RecMetric
  is_filter: true


Train:
  dataset:
    name: LMDBDataSet
    data_dir: ./train_data/data_lmdb_release/training/
    transforms:
      - DecodeImage: # load image
          img_mode: RGB
          channel_first: False
      - ABINetRecAug:
      - VLLabelEncode: # Class handling label
      - VLRecResizeImg:
          image_shape: [3, 64, 256]
      - KeepKeys:
          keep_keys: ['image', 'label', 'label_res', 'label_sub', 'label_id', 'length'] # dataloader will return list in this order
  loader:
    shuffle: True
    batch_size_per_card: 220
    drop_last: True
    num_workers: 4

Eval:
  dataset:
    name: LMDBDataSet
    data_dir: ./train_data/data_lmdb_release/validation/
    transforms:
      - DecodeImage: # load image
          img_mode: RGB
          channel_first: False
      - VLLabelEncode: # Class handling label
      - VLRecResizeImg:
          image_shape: [3, 64, 256]
      - KeepKeys:
          keep_keys: ['image', 'label', 'label_res', 'label_sub', 'label_id', 'length'] # dataloader will return list in this order
  loader:
    shuffle: False
    drop_last: False
    batch_size_per_card: 64
    num_workers: 4