123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- Global:
- device: gpu
- epoch_num: 10
- log_smooth_window: 20
- print_batch_step: 10
- output_dir: ./output/rec/u14m_filter/svtrv2_busnet_pretraining/
- eval_epoch_step: [0, 1]
- eval_batch_step: [0, 500]
- cal_metric_during_train: True
- pretrained_model:
- checkpoints:
- use_tensorboard: false
- infer_img:
- # for data or label process
- character_dict_path: ./tools/utils/EN_symbol_dict.txt
- max_text_length: 25
- use_space_char: False
- save_res_path: ./output/rec/u14m_filter/predicts_svtrv2_busnet_pretraining.txt
- use_amp: True
- Optimizer:
- name: AdamW
- lr: 0.00065 # 4gpus bs256/gpu
- weight_decay: 0.05
- filter_bias_and_bn: True
- LRScheduler:
- name: OneCycleLR
- warmup_epoch: 1 # pct_start 0.075*20 = 1.5ep
- cycle_momentum: False
- Architecture:
- model_type: rec
- algorithm: BUSBet
- Transform:
- Encoder:
- name: SVTRv2LNConvTwo33
- use_pos_embed: False
- 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']]
- local_k: [[5, 5], [5, 5], [-1, -1]]
- sub_k: [[1, 1], [2, 1], [-1, -1]]
- last_stage: false
- feat2d: False
- Decoder:
- name: BUSDecoder
- nhead: 6
- num_layers: 6
- dim_feedforward: 1536
- ignore_index: &ignore_index 100
- pretraining: True
- # return_id: 0
- Loss:
- name: ABINetLoss
- ignore_index: *ignore_index
- PostProcess:
- name: ABINetLabelDecode
- Metric:
- name: RecMetric
- main_indicator: acc
- is_filter: True
- Train:
- dataset:
- name: RatioDataSetTVResize
- ds_width: True
- padding: false
- data_dir_list: ['../Union14M-L-LMDB-Filtered/filter_train_challenging',
- '../Union14M-L-LMDB-Filtered/filter_train_hard',
- '../Union14M-L-LMDB-Filtered/filter_train_medium',
- '../Union14M-L-LMDB-Filtered/filter_train_normal',
- '../Union14M-L-LMDB-Filtered/filter_train_easy',
- ]
- transforms:
- - DecodeImagePIL: # load image
- img_mode: RGB
- - PARSeqAugPIL:
- - ABINetLabelEncode:
- ignore_index: *ignore_index
- - KeepKeys:
- keep_keys: ['image', 'label', 'length'] # dataloader will return list in this order
- sampler:
- name: RatioSampler
- scales: [[128, 32]] # w, h
- # divide_factor: to ensure the width and height dimensions can be devided by downsampling multiple
- first_bs: &bs 256
- fix_bs: false
- divided_factor: [4, 16] # w, h
- is_training: True
- loader:
- shuffle: True
- batch_size_per_card: *bs
- drop_last: True
- max_ratio: &max_ratio 4
- num_workers: 4
- Eval:
- dataset:
- name: RatioDataSetTVResize
- ds_width: True
- padding: False
- data_dir_list: [
- '../evaluation/CUTE80',
- '../evaluation/IC13_857',
- '../evaluation/IC15_1811',
- '../evaluation/IIIT5k',
- '../evaluation/SVT',
- '../evaluation/SVTP',
- ]
- transforms:
- - DecodeImagePIL: # load image
- img_mode: RGB
- - ABINetLabelEncode:
- ignore_index: *ignore_index
- - KeepKeys:
- keep_keys: ['image', 'label', 'length'] # dataloader will return list in this order
- sampler:
- name: RatioSampler
- scales: [[128, 32]] # w, h
- # divide_factor: to ensure the width and height dimensions can be devided by downsampling multiple
- first_bs: *bs
- fix_bs: false
- divided_factor: [4, 16] # w, h
- is_training: False
- loader:
- shuffle: False
- drop_last: False
- batch_size_per_card: *bs
- max_ratio: *max_ratio
- num_workers: 4
|