123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- Global:
- debug: false
- use_gpu: true
- epoch_num: 800
- log_smooth_window: 20
- print_batch_step: 10
- save_model_dir: ./output/rec_pp-OCRv2_distillation
- save_epoch_step: 3
- eval_batch_step: [0, 2000]
- cal_metric_during_train: true
- pretrained_model:
- checkpoints:
- save_inference_dir:
- use_visualdl: false
- infer_img: doc/imgs_words/ch/word_1.jpg
- character_dict_path: ppocr/utils/ppocr_keys_v1.txt
- max_text_length: 25
- infer_mode: false
- use_space_char: true
- distributed: true
- save_res_path: ./output/rec/predicts_pp-OCRv2_distillation.txt
- amp_custom_black_list: ['matmul','matmul_v2','elementwise_add']
- Optimizer:
- name: Adam
- beta1: 0.9
- beta2: 0.999
- lr:
- name: Piecewise
- decay_epochs : [700, 800]
- values : [0.001, 0.0001]
- warmup_epoch: 5
- regularizer:
- name: L2
- factor: 2.0e-05
- Architecture:
- model_type: &model_type "rec"
- name: DistillationModel
- algorithm: Distillation
- Models:
- Teacher:
- pretrained:
- freeze_params: false
- return_all_feats: true
- model_type: *model_type
- algorithm: CRNN
- Transform:
- Backbone:
- name: MobileNetV1Enhance
- scale: 0.5
- Neck:
- name: SequenceEncoder
- encoder_type: rnn
- hidden_size: 64
- Head:
- name: CTCHead
- mid_channels: 96
- fc_decay: 0.00002
- Student:
- pretrained:
- freeze_params: false
- return_all_feats: true
- model_type: *model_type
- algorithm: CRNN
- Transform:
- Backbone:
- name: MobileNetV1Enhance
- scale: 0.5
- Neck:
- name: SequenceEncoder
- encoder_type: rnn
- hidden_size: 64
- Head:
- name: CTCHead
- mid_channels: 96
- fc_decay: 0.00002
-
- Loss:
- name: CombinedLoss
- loss_config_list:
- - DistillationCTCLoss:
- weight: 1.0
- model_name_list: ["Student", "Teacher"]
- key: head_out
- - DistillationDMLLoss:
- weight: 1.0
- act: "softmax"
- use_log: true
- model_name_pairs:
- - ["Student", "Teacher"]
- key: head_out
- - DistillationDistanceLoss:
- weight: 1.0
- mode: "l2"
- model_name_pairs:
- - ["Student", "Teacher"]
- key: backbone_out
- PostProcess:
- name: DistillationCTCLabelDecode
- model_name: ["Student", "Teacher"]
- key: head_out
- Metric:
- name: DistillationMetric
- base_metric_name: RecMetric
- main_indicator: acc
- key: "Student"
- Train:
- dataset:
- name: SimpleDataSet
- data_dir: ./train_data/
- label_file_list:
- - ./train_data/train_list.txt
- transforms:
- - DecodeImage:
- img_mode: BGR
- channel_first: false
- - RecAug:
- - CTCLabelEncode:
- - RecResizeImg:
- image_shape: [3, 32, 320]
- - KeepKeys:
- keep_keys:
- - image
- - label
- - length
- loader:
- shuffle: true
- batch_size_per_card: 128
- drop_last: true
- num_sections: 1
- num_workers: 8
- Eval:
- dataset:
- name: SimpleDataSet
- data_dir: ./train_data
- label_file_list:
- - ./train_data/val_list.txt
- transforms:
- - DecodeImage:
- img_mode: BGR
- channel_first: false
- - CTCLabelEncode:
- - RecResizeImg:
- image_shape: [3, 32, 320]
- - KeepKeys:
- keep_keys:
- - image
- - label
- - length
- loader:
- shuffle: false
- drop_last: false
- batch_size_per_card: 128
- num_workers: 8
|