Global: device: gpu epoch_num: 20 log_smooth_window: 20 print_batch_step: 10 output_dir: ./output/rec/u14m_filter/resnet45_fpn_dan/ 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_resnet45_fpn_dan.txt use_amp: True grad_clip_val: 20 Optimizer: name: Adam lr: 0.00065 # for 4gpus bs256/gpu weight_decay: 0.0 filter_bias_and_bn: False LRScheduler: name: OneCycleLR warmup_epoch: 1.5 # pct_start 0.075*20 = 1.5ep cycle_momentum: False Architecture: model_type: rec algorithm: DAN Transform: Encoder: name: ResNet45 in_channels: 3 strides: [2, 1, 2, 1, 1] return_list: True Decoder: name: DANDecoder max_len: 25 channels_list: [64, 128, 256, 512] strides_list: [[2, 2], [1, 1], [1, 1]] in_shape: [8, 32] depth: 4 Loss: name: ARLoss PostProcess: name: ARLabelDecode Metric: name: RecMetric main_indicator: acc is_filter: True Train: dataset: name: LMDBDataSet data_dir: ../Union14M-L-LMDB-Filtered transforms: - DecodeImagePIL: # load image img_mode: RGB - PARSeqAugPIL: - ARLabelEncode: - RecTVResize: image_shape: [32, 128] padding: False - KeepKeys: keep_keys: ['image', 'label', 'length'] # dataloader will return list in this order loader: shuffle: True batch_size_per_card: 256 drop_last: True num_workers: 4 Eval: dataset: name: LMDBDataSet data_dir: ../evaluation transforms: - DecodeImagePIL: # load image img_mode: RGB - ARLabelEncode: - RecTVResize: image_shape: [32, 128] padding: False - KeepKeys: keep_keys: ['image', 'label', 'length'] # dataloader will return list in this order loader: shuffle: False drop_last: False batch_size_per_card: 256 num_workers: 2