PaddlePaddle / PaddleOCR

Awesome multilingual OCR toolkits based on PaddlePaddle (practical ultra lightweight OCR system, support 80+ languages recognition, provide data annotation and synthesis tools, support training and deployment among server, mobile, embedded and IoT devices)
Apache License 2.0
41.13k stars 7.54k forks source link

训练检测模型V3,recell和precision一直是0,请问什么原因 #7626

Closed ainndejj11 closed 1 year ago

ainndejj11 commented 1 year ago

训练文本检测时,使用ch_det_mv3_db_v2.0.yml 和 V3的ch_PP-OCRv3_det_dml.yml 都没问题,结果正常。 但是使用cml训练精度和召回就一直是0,请问什么原因啊???

命令: python tools/train.py -c configs/det/ch_PP-OCRv3/my_sfz_Det_OCRv3_cml.yml

配置文件: Global: debug: false use_gpu: true epoch_num: 500 log_smooth_window: 20 print_batch_step: 40 save_model_dir: output/my_sfz_Det_OCRv3_cml22/ save_epoch_step: 100 eval_batch_step: 200 cal_metric_during_train: false pretrained_model: pretrain_models/ResNet50_vd_ssld_pretrained.pdparams checkpoints: null save_inference_dir: null use_visualdl: false infer_img: doc/imgs_en/img_10.jpg save_res_path: output/my_sfz_Det_OCRv3_cml/predicts_db.txt distributed: true

Architecture: name: DistillationModel algorithm: Distillation model_type: det Models: Student: model_type: det algorithm: DB Transform: null Backbone: name: MobileNetV3 scale: 0.5 model_name: large disable_se: true Neck: name: RSEFPN out_channels: 96 shortcut: True Head: name: DBHead k: 50 Student2: model_type: det algorithm: DB Transform: null Backbone: name: MobileNetV3 scale: 0.5 model_name: large disable_se: true Neck: name: RSEFPN out_channels: 96 shortcut: True Head: name: DBHead k: 50 Teacher: freeze_params: true return_all_feats: false model_type: det algorithm: DB Backbone: name: ResNet in_channels: 3 layers: 50 Neck: name: LKPAN out_channels: 256 Head: name: DBHead kernel_list: [7,2,2] k: 50

Loss: name: CombinedLoss loss_config_list:

Optimizer: name: Adam beta1: 0.9 beta2: 0.999 lr: name: Cosine learning_rate: 0.001 warmup_epoch: 2 regularizer: name: L2 factor: 5.0e-05

PostProcess: name: DistillationDBPostProcess model_name: ["Student"] key: head_out thresh: 0.3 box_thresh: 0.9 max_candidates: 1000 unclip_ratio: 2.2

Metric: name: DistillationMetric base_metric_name: DetMetric main_indicator: hmean key: "Student"

Train: dataset: name: SimpleDataSet data_dir: dataset_sfz/
label_file_list: ["dataset_sfz/train_label.txt"] ratio_list: [1.0] transforms:

训练日志: [2022/09/16 16:04:15] ppocr INFO: epoch: [8/500], global_step: 440, lr: 0.001000, dila_dbloss_Student_Teacher: 0.159006, dila_dbloss_Student2_Teacher: 0.142082, loss: 13.257104, dml_thrink_maps_0: 0.008823, db_Student_loss_shrink_maps: 4.834325, db_Student_loss_threshold_maps: 0.705055, db_Student_loss_binary_maps: 0.967692, db_Student2_loss_shrink_maps: 4.835736, db_Student2_loss_threshold_maps: 0.603743, db_Student2_loss_binary_maps: 0.967683, avg_reader_cost: 0.00020 s, avg_batch_cost: 0.64841 s, avg_samples: 3.0, ips: 4.62673 samples/s, eta: 5:05:59 [2022/09/16 16:04:25] ppocr INFO: epoch: [8/500], global_step: 456, lr: 0.001000, dila_dbloss_Student_Teacher: 0.162547, dila_dbloss_Student2_Teacher: 0.145519, loss: 13.205663, dml_thrink_maps_0: 0.009518, db_Student_loss_shrink_maps: 4.806071, db_Student_loss_threshold_maps: 0.674420, db_Student_loss_binary_maps: 0.961792, db_Student2_loss_shrink_maps: 4.806812, db_Student2_loss_threshold_maps: 0.647089, db_Student2_loss_binary_maps: 0.961792, avg_reader_cost: 0.00013 s, avg_batch_cost: 0.25582 s, avg_samples: 1.175, ips: 4.59301 samples/s, eta: 5:05:34 [2022/09/16 16:04:26] ppocr INFO: save model in output/my_sfz_Det_OCRv3_cml22/latest [2022/09/16 16:04:42] ppocr INFO: epoch: [9/500], global_step: 480, lr: 0.001000, dila_dbloss_Student_Teacher: 0.146445, dila_dbloss_Student2_Teacher: 0.133893, loss: 13.235075, dml_thrink_maps_0: 0.012166, db_Student_loss_shrink_maps: 4.833442, db_Student_loss_threshold_maps: 0.678330, db_Student_loss_binary_maps: 0.967140, db_Student2_loss_shrink_maps: 4.833851, db_Student2_loss_threshold_maps: 0.624755, db_Student2_loss_binary_maps: 0.967129, avg_reader_cost: 0.03329 s, avg_batch_cost: 0.41216 s, avg_samples: 1.8, ips: 4.36729 samples/s, eta: 5:06:05 [2022/09/16 16:05:03] ppocr INFO: epoch: [9/500], global_step: 513, lr: 0.001000, dila_dbloss_Student_Teacher: 0.151261, dila_dbloss_Student2_Teacher: 0.134700, loss: 13.111636, dml_thrink_maps_0: 0.008895, db_Student_loss_shrink_maps: 4.840708, db_Student_loss_threshold_maps: 0.642348, db_Student_loss_binary_maps: 0.968647, db_Student2_loss_shrink_maps: 4.841340, db_Student2_loss_threshold_maps: 0.582011, db_Student2_loss_binary_maps: 0.968648, avg_reader_cost: 0.00012 s, avg_batch_cost: 0.53610 s, avg_samples: 2.45, ips: 4.57000 samples/s, eta: 5:05:33 [2022/09/16 16:05:04] ppocr INFO: save model in output/my_sfz_Det_OCRv3_cml22/latest [2022/09/16 16:05:09] ppocr INFO: epoch: [10/500], global_step: 520, lr: 0.001000, dila_dbloss_Student_Teacher: 0.141573, dila_dbloss_Student2_Teacher: 0.128550, loss: 13.156147, dml_thrink_maps_0: 0.008531, db_Student_loss_shrink_maps: 4.840708, db_Student_loss_threshold_maps: 0.641506, db_Student_loss_binary_maps: 0.968647, db_Student2_loss_shrink_maps: 4.841340, db_Student2_loss_threshold_maps: 0.629329, db_Student2_loss_binary_maps: 0.968648, avg_reader_cost: 0.03280 s, avg_batch_cost: 0.14352 s, avg_samples: 0.525, ips: 3.65792 samples/s, eta: 5:06:31 [2022/09/16 16:05:35] ppocr INFO: epoch: [10/500], global_step: 560, lr: 0.000999, dila_dbloss_Student_Teacher: 0.128136, dila_dbloss_Student2_Teacher: 0.118924, loss: 13.094175, dml_thrink_maps_0: 0.006509, db_Student_loss_shrink_maps: 4.830692, db_Student_loss_threshold_maps: 0.686822, db_Student_loss_binary_maps: 0.966612, db_Student2_loss_shrink_maps: 4.831908, db_Student2_loss_threshold_maps: 0.585763, db_Student2_loss_binary_maps: 0.966607, avg_reader_cost: 0.00015 s, avg_batch_cost: 0.65906 s, avg_samples: 3.0, ips: 4.55191 samples/s, eta: 5:06:08 [2022/09/16 16:05:42] ppocr INFO: epoch: [10/500], global_step: 570, lr: 0.000999, dila_dbloss_Student_Teacher: 0.135234, dila_dbloss_Student2_Teacher: 0.125086, loss: 13.094175, dml_thrink_maps_0: 0.006271, db_Student_loss_shrink_maps: 4.836694, db_Student_loss_threshold_maps: 0.690676, db_Student_loss_binary_maps: 0.967792, db_Student2_loss_shrink_maps: 4.837642, db_Student2_loss_threshold_maps: 0.588766, db_Student2_loss_binary_maps: 0.967791, avg_reader_cost: 0.00003 s, avg_batch_cost: 0.15874 s, avg_samples: 0.725, ips: 4.56708 samples/s, eta: 5:05:50 [2022/09/16 16:05:42] ppocr INFO: save model in output/my_sfz_Det_OCRv3_cml22/latest [2022/09/16 16:06:03] ppocr INFO: epoch: [11/500], global_step: 600, lr: 0.000999, dila_dbloss_Student_Teacher: 0.122913, dila_dbloss_Student2_Teacher: 0.115372, loss: 13.037323, dml_thrink_maps_0: 0.006116, db_Student_loss_shrink_maps: 4.842148, db_Student_loss_threshold_maps: 0.604094, db_Student_loss_binary_maps: 0.968773, db_Student2_loss_shrink_maps: 4.842500, db_Student2_loss_threshold_maps: 0.562182, db_Student2_loss_binary_maps: 0.968772, avg_reader_cost: 0.04547 s, avg_batch_cost: 0.53250 s, avg_samples: 2.25, ips: 4.22534 samples/s, eta: 5:06:44 eval model:: 100%|█████████████████████████████████████████████████████████████████████████| 27/27 [00:05<00:00, 4.76it/s] [2022/09/16 16:06:09] ppocr INFO: cur metric, precision: 0.0, recall: 0.0, hmean: 0, fps: 5.372682772097304 [2022/09/16 16:06:09] ppocr INFO: save best model is to output/my_sfz_Det_OCRv3_cml22/best_accuracy [2022/09/16 16:06:09] ppocr INFO: best metric, hmean: 0, precision: 0.0, recall: 0.0, fps: 5.372682772097304, best_epoch: 11 [2022/09/16 16:06:27] ppocr INFO: epoch: [11/500], global_step: 627, lr: 0.000999, dila_dbloss_Student_Teacher: 0.133615, dila_dbloss_Student2_Teacher: 0.125595, loss: 12.938820, dml_thrink_maps_0: 0.005382, db_Student_loss_shrink_maps: 4.830286, db_Student_loss_threshold_maps: 0.587671, db_Student_loss_binary_maps: 0.966397, db_Student2_loss_shrink_maps: 4.831028, db_Student2_loss_threshold_maps: 0.535808, db_Student2_loss_binary_maps: 0.966395, avg_reader_cost: 0.00018 s, avg_batch_cost: 0.44683 s, avg_samples: 2.0, ips: 4.47595 samples/s, eta: 5:06:29 [2022/09/16 16:06:27] ppocr INFO: save model in output/my_sfz_Det_OCRv3_cml22/latest [2022/09/16 16:06:37] ppocr INFO: epoch: [12/500], global_step: 640, lr: 0.000999, dila_dbloss_Student_Teacher: 0.124493, dila_dbloss_Student2_Teacher: 0.117237, loss: 12.953886, dml_thrink_maps_0: 0.005552, db_Student_loss_shrink_maps: 4.828070, db_Student_loss_threshold_maps: 0.602421, db_Student_loss_binary_maps: 0.965929, db_Student2_loss_shrink_maps: 4.828670, db_Student2_loss_threshold_maps: 0.516220, db_Student2_loss_binary_maps: 0.965912, avg_reader_cost: 0.02931 s, avg_batch_cost: 0.23872 s, avg_samples: 0.975, ips: 4.08421 samples/s, eta: 5:07:03 [2022/09/16 16:07:03] ppocr INFO: epoch: [12/500], global_step: 680, lr: 0.000999, dila_dbloss_Student_Teacher: 0.121447, dila_dbloss_Student2_Teacher: 0.115361, loss: 13.007833, dml_thrink_maps_0: 0.006516, db_Student_loss_shrink_maps: 4.839992, db_Student_loss_threshold_maps: 0.593324, db_Student_loss_binary_maps: 0.968229, db_Student2_loss_shrink_maps: 4.840075, db_Student2_loss_threshold_maps: 0.529120, db_Student2_loss_binary_maps: 0.968221, avg_reader_cost: 0.00019 s, avg_batch_cost: 0.66396 s, avg_samples: 3.0, ips: 4.51835 samples/s, eta: 5:06:41 [2022/09/16 16:07:06] ppocr INFO: epoch: [12/500], global_step: 684, lr: 0.000999, dila_dbloss_Student_Teacher: 0.113292, dila_dbloss_Student2_Teacher: 0.107902, loss: 12.998646, dml_thrink_maps_0: 0.006874, db_Student_loss_shrink_maps: 4.836416, db_Student_loss_threshold_maps: 0.593324, db_Student_loss_binary_maps: 0.967560, db_Student2_loss_shrink_maps: 4.836890, db_Student2_loss_threshold_maps: 0.553691, db_Student2_loss_binary_maps: 0.967526, avg_reader_cost: 0.00001 s, avg_batch_cost: 0.06289 s, avg_samples: 0.275, ips: 4.37293 samples/s, eta: 5:06:33 [2022/09/16 16:07:06] ppocr INFO: save model in output/my_sfz_Det_OCRv3_cml22/latest [2022/09/16 16:07:30] ppocr INFO: epoch: [13/500], global_step: 720, lr: 0.000999, dila_dbloss_Student_Teacher: 0.101153, dila_dbloss_Student2_Teacher: 0.095908, loss: 12.827205, dml_thrink_maps_0: 0.005970, db_Student_loss_shrink_maps: 4.810868, db_Student_loss_threshold_maps: 0.567060, db_Student_loss_binary_maps: 0.962436, db_Student2_loss_shrink_maps: 4.811124, db_Student2_loss_threshold_maps: 0.518557, db_Student2_loss_binary_maps: 0.962434, avg_reader_cost: 0.02720 s, avg_batch_cost: 0.61611 s, avg_samples: 2.7, ips: 4.38236 samples/s, eta: 5:06:42 [2022/09/16 16:07:44] ppocr INFO: epoch: [13/500], global_step: 741, lr: 0.000999, dila_dbloss_Student_Teacher: 0.114409, dila_dbloss_Student2_Teacher: 0.109730, loss: 12.863232, dml_thrink_maps_0: 0.004428, db_Student_loss_shrink_maps: 4.834564, db_Student_loss_threshold_maps: 0.543325, db_Student_loss_binary_maps: 0.967185, db_Student2_loss_shrink_maps: 4.835096, db_Student2_loss_threshold_maps: 0.511195, db_Student2_loss_binary_maps: 0.967175, avg_reader_cost: 0.00008 s, avg_batch_cost: 0.34358 s, avg_samples: 1.55, ips: 4.51132 samples/s, eta: 5:06:21 [2022/09/16 16:07:44] ppocr INFO: save model in output/my_sfz_Det_OCRv3_cml22/latest [2022/09/16 16:07:58] ppocr INFO: epoch: [14/500], global_step: 760, lr: 0.000999, dila_dbloss_Student_Teacher: 0.109571, dila_dbloss_Student2_Teacher: 0.105479, loss: 12.895370, dml_thrink_maps_0: 0.004739, db_Student_loss_shrink_maps: 4.825303, db_Student_loss_threshold_maps: 0.556919, db_Student_loss_binary_maps: 0.965334, db_Student2_loss_shrink_maps: 4.825806, db_Student2_loss_threshold_maps: 0.517791, db_Student2_loss_binary_maps: 0.965337, avg_reader_cost: 0.02928 s, avg_batch_cost: 0.34295 s, avg_samples: 1.425, ips: 4.15516 samples/s, eta: 5:06:50 [2022/09/16 16:08:23] ppocr INFO: epoch: [14/500], global_step: 798, lr: 0.000999, dila_dbloss_Student_Teacher: 0.102062, dila_dbloss_Student2_Teacher: 0.099484, loss: 12.855541, dml_thrink_maps_0: 0.004727, db_Student_loss_shrink_maps: 4.824450, db_Student_loss_threshold_maps: 0.537185, db_Student_loss_binary_maps: 0.965122, db_Student2_loss_shrink_maps: 4.824780, db_Student2_loss_threshold_maps: 0.481172, db_Student2_loss_binary_maps: 0.965101, avg_reader_cost: 0.00013 s, avg_batch_cost: 0.62771 s, avg_samples: 2.825, ips: 4.50051 samples/s, eta: 5:06:21 [2022/09/16 16:08:23] ppocr INFO: save model in output/my_sfz_Det_OCRv3_cml22/latest [2022/09/16 16:08:25] ppocr INFO: epoch: [15/500], global_step: 800, lr: 0.000999, dila_dbloss_Student_Teacher: 0.102062, dila_dbloss_Student2_Teacher: 0.099484, loss: 12.907385, dml_thrink_maps_0: 0.004482, db_Student_loss_shrink_maps: 4.829437, db_Student_loss_threshold_maps: 0.541150, db_Student_loss_binary_maps: 0.966100, db_Student2_loss_shrink_maps: 4.829769, db_Student2_loss_threshold_maps: 0.489773, db_Student2_loss_binary_maps: 0.966089, avg_reader_cost: 0.02908 s, avg_batch_cost: 0.06051 s, avg_samples: 0.15, ips: 2.47904 samples/s, eta: 5:06:58 eval model:: 100%|█████████████████████████████████████████████████████████████████████████| 27/27 [00:05<00:00, 4.73it/s] [2022/09/16 16:08:31] ppocr INFO: cur metric, precision: 0.0, recall: 0.0, hmean: 0, fps: 5.4216436388705365 [2022/09/16 16:08:31] ppocr INFO: save best model is to output/my_sfz_Det_OCRv3_cml22/best_accuracy

LDOUBLEV commented 1 year ago

预训练模型不对,CML训练需要加载训练好的教师模型,关于PPOCRv3的训练方法参考这个文档:https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.6/doc/doc_ch/PPOCRv3_det_train.md

JackieWangxiao commented 6 months ago

你的loss值还在12左右,再多训练一些epoch,或者把lr调大点试试