123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- Global:
- device: gpu
- epoch_num: 100
- log_smooth_window: 20
- print_batch_step: 10
- output_dir: ./output/rec/ch/svtrv2_ctc_ch/
- save_epoch_step: [150, 10]
- # evaluation is run every 2000 iterations
- eval_epoch_step: [0, 1]
- eval_batch_step: [0, 2000]
- cal_metric_during_train: True
- pretrained_model: ./openocr_svtrv2_ch.pth
- checkpoints:
- use_tensorboard: false
- infer_img:
- # for data or label process
- character_dict_path: &character_dict_path ./tools/utils/ppocr_keys_v1.txt
- max_text_length: &max_text_length 25
- use_space_char: &use_space_char True
- save_res_path: ./output/rec/u14m_filter/predicts_svtrv2_ctc.txt
- use_amp: True
- project_name: svtrv2_ctc_ch
- Optimizer:
- name: AdamW
- lr: 0.0001 # for 4gpus bs256/gpu
- weight_decay: 0.05
- filter_bias_and_bn: True
- LRScheduler:
- name: CosineAnnealingLR
- warmup_epoch: 5
- Architecture:
- model_type: rec
- algorithm: SVTRv2_server
- Transform:
- Encoder:
- name: SVTRv2LNConvTwo33
- use_pos_embed: False
- out_channels: 256
- dims: [128, 256, 384]
- depths: [6, 6, 6]
- num_heads: [4, 8, 12]
- mixer: [['Conv','Conv','Conv','Conv','Conv','Conv'],['Conv','Conv','FGlobal','Global','Global','Global'],['Global','Global','Global','Global','Global','Global']]
- kernel_sizes: [[5,5,5,5,5,5], [5,5,5,5,5,5], [-1]]
- num_convs: [[1,1,1,1,1,1], [1,1,1,1,1,1], [-1]]
- sub_k: [[2, 1], [2, 1], [-1, -1]]
- last_stage: False
- feat2d: True
- pope_bias: True
- Decoder:
- name: CTCDecoder
- svtr_encoder:
- dims: 256
- depth: 2
- hidden_dims: 256
- kernel_size: [1, 3]
- use_guide: True
- Loss:
- name: CTCLoss
- zero_infinity: True
- PostProcess:
- name: CTCLabelDecode
- character_dict_path: *character_dict_path
- Metric:
- name: RecMetric
- main_indicator: acc
- ignore_space: False
- # is_filter: True
- Train:
- dataset:
- name: SimpleDataSet
- data_dir: ../ic15_data/
- label_file_list:
- - ../ic15_data/rec_gt_train.txt
- transforms:
- - DecodeImagePIL: # load image
- img_mode: RGB
- - PARSeqAugPIL:
- - CTCLabelEncode: # Class handling label
- character_dict_path: *character_dict_path
- use_space_char: *use_space_char
- max_text_length: *max_text_length
- - RecTVResize:
- image_shape: [48, 320]
- padding: True
- - KeepKeys:
- keep_keys: ['image', 'label', 'length']
- loader:
- shuffle: True
- batch_size_per_card: 256
- drop_last: True
- num_workers: 4
- Eval:
- dataset:
- name: SimpleDataSet
- data_dir: ../ic15_data/
- label_file_list:
- - ../ic15_data/rec_gt_test.txt
- transforms:
- - DecodeImage: # load image
- img_mode: BGR
- - CTCLabelEncode: # Class handling label
- character_dict_path: *character_dict_path
- use_space_char: *use_space_char
- max_text_length: *max_text_length
- - RecDynamicResize:
- image_shape: [48, 320]
- padding: False
- # - RecTVResize:
- # image_shape: [48, 320]
- # padding: True
- - KeepKeys:
- keep_keys: ['image', 'label', 'length']
- loader:
- shuffle: False
- drop_last: False
- batch_size_per_card: 1
- num_workers: 4
|