From 149dd86132250b407c1368b61c232fb43510d098 Mon Sep 17 00:00:00 2001 From: "lamonov.pavel" Date: Tue, 8 Jul 2025 10:20:05 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9A=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D1=83?= =?UTF-8?q?=D1=80=D0=B0=D1=86=D0=B8=D1=8F.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- configs/rec_custom.yml | 91 +++++++++++++++++++++++++++++++++++------- 1 file changed, 77 insertions(+), 14 deletions(-) diff --git a/configs/rec_custom.yml b/configs/rec_custom.yml index ce79488..3c94c52 100644 --- a/configs/rec_custom.yml +++ b/configs/rec_custom.yml @@ -1,8 +1,42 @@ Global: + model_name: PP-OCRv5_server_rec # To use static model for inference. + debug: false use_gpu: false - character_dict_path: train_data/dict.txt - save_model_dir: ./output/ - pretrained_model: pretrained_models/PP-OCRv5_server_rec_pretrained.pdparams + device: cpu + epoch_num: 75 + log_smooth_window: 20 + print_batch_step: 10 + save_model_dir: ./output/PP-OCRv5_server_rec + save_epoch_step: 1 + eval_batch_step: [0, 2000] + cal_metric_during_train: true + calc_epoch_interval: 1 + pretrained_model: + checkpoints: + save_inference_dir: + use_visualdl: false + infer_img: ./train_data/images/1C4HJXEN3MW645094.jpg + character_dict_path: ./train_data/dict.txt + max_text_length: &max_text_length 19 + infer_mode: false + use_space_char: true + distributed: true + save_res_path: ./output/rec/predicts_ppocrv5.txt + d2s_train_image_shape: [3, 48, 320] + + +Optimizer: + name: Adam + beta1: 0.9 + beta2: 0.999 + lr: + name: Cosine + learning_rate: 0.0005 + warmup_epoch: 1 + regularizer: + name: L2 + factor: 3.0e-05 + Architecture: model_type: rec @@ -26,7 +60,13 @@ Architecture: fc_decay: 0.00001 - NRTRHead: nrtr_dim: 384 - max_text_length: 17 + max_text_length: *max_text_length + +Loss: + name: MultiLoss + loss_config_list: + - CTCLoss: + - NRTRLoss: PostProcess: name: CTCLabelDecode @@ -37,27 +77,50 @@ Metric: Train: dataset: - name: SimpleDataSet - data_dir: train_data/ - label_file_list: - - train_data/train.txt + name: MultiScaleDataSet + ds_width: false + data_dir: ./train_data/images + ext_op_transform_idx: 1 + label_file_list: + - ./train_data/train.txt + transforms: + - DecodeImage: + img_mode: BGR + channel_first: false + - RecAug: + - MultiLabelEncode: + gtc_encode: NRTRLabelEncode + - KeepKeys: + keep_keys: + - image + - label_ctc + - label_gtc + - length + - valid_ratio + sampler: + name: MultiScaleSampler + scales: [[320, 32], [320, 48], [320, 64]] + first_bs: &bs 128 + fix_bs: false + divided_factor: [8, 16] # w, h + is_training: True loader: - batch_size_per_card: 16 # Уменьшите для экономии памяти - num_workers: 2 - + shuffle: true + batch_size_per_card: *bs + drop_last: true + num_workers: 16 Eval: dataset: name: SimpleDataSet - data_dir: train_data/ + data_dir: ./train_data/images label_file_list: - - train_data/val.txt + - ./train_data/val.txt transforms: - DecodeImage: img_mode: BGR channel_first: false - MultiLabelEncode: gtc_encode: NRTRLabelEncode - max_text_length: 17 - RecResizeImg: image_shape: [3, 48, 320] - KeepKeys: