123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- Global:
- device: gpu
- epoch_num: 60
- log_smooth_window: 20
- print_batch_step: 10
- output_dir: ./output/rec/syn/svtr_base_cppd/
- save_epoch_step: [15, 1]
- # evaluation is run every 2000 iterations
- eval_batch_step: [0, 500]
- eval_epoch_step: [0, 1]
- cal_metric_during_train: True
- pretrained_model:
- checkpoints:
- use_tensorboard: false
- infer_img:
- # for data or label process
- character_dict_path: &character_dict_path
- # ./tools/utils/EN_symbol_dict.txt # 96en
- # ./tools/utils/ppocr_keys_v1.txt # ch
- max_text_length: &max_text_length 25
- use_space_char: &use_space_char False
- save_res_path: ./output/rec/syn/predicts_svtr_base_cppd.txt
- use_amp: True
- Optimizer:
- name: AdamW
- lr: 0.0005 # for 4gpus bs256/gpu
- weight_decay: 0.05
- filter_bias_and_bn: True
- LRScheduler:
- name: CosineAnnealingLR
- warmup_epoch: 6
- Architecture:
- model_type: rec
- algorithm: CPPD
- in_channels: 3
- Transform:
- Encoder:
- name: SVTRNet
- img_size: [32, 100]
- out_char_num: 25
- out_channels: 256
- patch_merging: 'Conv'
- embed_dim: [128, 256, 384]
- depth: [6, 6, 4]
- num_heads: [4, 8, 12]
- mixer: ['Conv','Conv','Conv','Conv','Conv','Conv', 'Conv','Conv', 'Global','Global','Global','Global','Global','Global','Global','Global','Global','Global']
- local_mixer: [[5, 5], [5, 5], [5, 5]]
- last_stage: False
- prenorm: True
- Decoder:
- name: CPPDDecoder
- vis_seq: 50
- num_layer: 3
- pos_len: False
- rec_layer: 1
- Loss:
- name: CPPDLoss
- ignore_index: 100
- smoothing: True
- pos_len: False
- sideloss_weight: 1.0
- PostProcess:
- name: CPPDLabelDecode
- character_dict_path: *character_dict_path
- use_space_char: *use_space_char
- Metric:
- name: RecMetric
- main_indicator: acc
- Train:
- dataset:
- name: STRLMDBDataSet
- data_dir: ./
- transforms:
- - DecodeImage: # load image
- img_mode: BGR
- channel_first: False
- # - SVTRRAug:
- - CPPDLabelEncode: # Class handling label
- pos_len: False
- character_dict_path: *character_dict_path
- use_space_char: *use_space_char
- max_text_length: *max_text_length
- - SVTRResize:
- image_shape: [3, 32, 100]
- padding: False
- - KeepKeys:
- keep_keys: ['image', 'label', 'label_node', 'length'] # dataloader will return list in this order
- loader:
- shuffle: True
- batch_size_per_card: 256
- drop_last: True
- num_workers: 8
- Eval:
- dataset:
- name: LMDBDataSet
- data_dir: ../evaluation/
- transforms:
- - DecodeImage: # load image
- img_mode: BGR
- channel_first: False
- - CPPDLabelEncode: # Class handling label
- pos_len: False
- character_dict_path: *character_dict_path
- use_space_char: *use_space_char
- max_text_length: *max_text_length
- - SVTRResize:
- image_shape: [3, 32, 100]
- padding: False
- - KeepKeys:
- keep_keys: ['image', 'label', 'label_node', 'length'] # dataloader will return list in this order
- loader:
- shuffle: False
- drop_last: False
- batch_size_per_card: 256
- num_workers: 4
|