Global: use_gpu: True epoch_num: 72 log_smooth_window: 20 print_batch_step: 5 save_model_dir: ./output/rec/srn_new save_epoch_step: 3 # evaluation is run every 5000 iterations after the 0th iteration eval_batch_step: [0, 5000] cal_metric_during_train: True pretrained_model: checkpoints: save_inference_dir: use_visualdl: False infer_img: doc/imgs_words/ch/word_1.jpg # for data or label process character_dict_path: character_type: en max_text_length: 25 num_heads: 8 infer_mode: False use_space_char: False save_res_path: ./output/rec/predicts_srn.txt Optimizer: name: Adam beta1: 0.9 beta2: 0.999 clip_norm: 10.0 lr: learning_rate: 0.0001 Architecture: model_type: rec algorithm: SRN in_channels: 1 Transform: Backbone: name: ResNetFPN Head: name: SRNHead max_text_length: 25 num_heads: 8 num_encoder_TUs: 2 num_decoder_TUs: 4 hidden_dims: 512 Loss: name: SRNLoss PostProcess: name: SRNLabelDecode Metric: name: RecMetric main_indicator: acc Train: dataset: name: LMDBDataSet data_dir: ./train_data/data_lmdb_release/training/ transforms: - DecodeImage: # load image img_mode: BGR channel_first: False - SRNLabelEncode: # Class handling label - SRNRecResizeImg: image_shape: [1, 64, 256] - KeepKeys: keep_keys: ['image', 'label', 'length', 'encoder_word_pos', 'gsrm_word_pos', 'gsrm_slf_attn_bias1', 'gsrm_slf_attn_bias2'] # dataloader will return list in this order loader: shuffle: False batch_size_per_card: 64 drop_last: False num_workers: 4 Eval: dataset: name: LMDBDataSet data_dir: ./train_data/data_lmdb_release/validation/ transforms: - DecodeImage: # load image img_mode: BGR channel_first: False - SRNLabelEncode: # Class handling label - SRNRecResizeImg: image_shape: [1, 64, 256] - KeepKeys: keep_keys: ['image', 'label', 'length', 'encoder_word_pos', 'gsrm_word_pos', 'gsrm_slf_attn_bias1', 'gsrm_slf_attn_bias2'] loader: shuffle: False drop_last: False batch_size_per_card: 32 num_workers: 4