百度飞桨paddleocr训练rec模型记录
paddleocrocr百度飞桨模型训练ocr训练rec识别模型训练
目录
一、背景
在项目进行中,遇到了一个比较棘手的问题,爬虫遇到网站有验证码识别校验的情况。当时第一步是寻找了相关的python识别包直接去识别,第一个找的就是paddleocr这个包,但效果不是很好。可能是因为验证码图片上的干扰线太多导致的。调研后跟着也官方文档尝试了一下paddleocr的训练。
二、训练流程
2.1、下载paddleocr项目
两种方式,从GitHub上克隆paddleocr的项目到本地或者从GitHub上下载zip包再解压
git clone http://github.com/PaddlePaddle/PaddleOCR.git
2.2、创建相关文件夹
paddleocr
pretrain_models
tranMyOCR
rec
test
xxx.png
train
xxx1.png
xxx2.png
codeChar.txt
rec_gt_train.txt
rec_gt_test.txt
其中:
pretrain_models文件夹存放下载的预训练模型;
paddleocr是克隆下来的项目文件夹;
tranMyOCR是我们训练主文件夹;
rec文件夹用来标识我们训练的模型类别,常用的有det、cls、rec等;
test文件夹下存放验证集;
train文件夹下存放训练集;
codeChar.txt是所有希望能被正确识别的字符;
rec_gt_train.txt列出了所有训练集数据与标签集合;
xxx.jpg 1a4d
rec_gt_test.txt列出了所有测试集数据与标签集合;
test文件夹下存放验证集:
train文件夹下存放训练集:
codeChar.txt文件内容:
./tranMyOCR/rec/train/
rec_gt_train.txt文件内容:
rec_gt_test.txt文件内容:
2.3、下载rec预训练模型
本文示例使用的是en_pp-ocrv3_rec版本的实验的,可能v4版本效果更好,需要自行去尝试。下载后移入到事先建好的pretrain_models文件夹下,再解压即可。
https://paddleocr.bj.bcebos.com/PP-OCRv3/english/en_PP-OCRv3_rec_train.tar
2.4、修改训练配置文件
rec模型训练配置文件路径:./configs/rec/PP-OCRv3 下的en_PP-OCRv3_rec.yml文件,同目录下有中文、英文分别。不明白有什么区别,不过我想既然要训练的是字符验证码,那肯定是要使用英文模型训练配置文件。
配置文件中涉及到修改的参数有:
Global:
use_gpu:是否开启GPU训练
epoch_num:训练轮数
print_batch_step:多少轮输出一次日志
save_model_dir:最终模型保存路径
save_epoch_step:多少轮保存一次模型
eval_batch_step:一个区间,没搞懂
pretrained_model:预训练模型路径
save_inference_dir:导出inference模型路径,导出时候需要用到
character_dict_path:字符字典路径
use_space_char:是否正常识别空格
Train:
dataset:
data_dir:训练集数据文件夹
label_file_list:训练标签文件路径,也就是rec_gt_train.txt文件的路径
loader:
shuffle: false
batch_size_per_card: 每轮训练数量吧
drop_last: false
num_workers: 指定多少个线程训练吧
Eval:
dataset:
data_dir:验证集数据文件夹
label_file_list:验证标签文件路径,也就是rec_gt_test.txt文件的路径
2.5、训练
进入到paddleocr项目文件夹下,打开命令行后执行训练命令。
# 训练
python tools/train.py -c configs/rec/PP-OCRv3/en_PP-OCRv3_rec_new.yml
# 若训练配置文件没有配置pretrained_model
python tools/train.py -c configs/rec/PP-OCRv3/en_PP-OCRv3_rec_zk.yml -o Global.pretrained_model=./pretrain_models/en_PP-OCRv3_rec_train/best_accuracy
# 训练日志(省略中间部分)
(base) Dell:~/GitHub/PaddleOCR$ /home/zhangke/miniconda3/bin/python tools/train.py -c configs/rec/PP-OCRv3/en_PP-OCRv3_rec_zk.yml -o Global.pretrained_model=./pretrain_models/en_PP-OCRv3_rec_train/best_accuracy
[2024/11/26 16:17:29] ppocr INFO: Architecture :
[2024/11/26 16:17:29] ppocr INFO: Backbone :
[2024/11/26 16:17:29] ppocr INFO: last_conv_stride : [1, 2]
[2024/11/26 16:17:29] ppocr INFO: last_pool_kernel_size : [2, 2]
[2024/11/26 16:17:29] ppocr INFO: last_pool_type : avg
[2024/11/26 16:17:29] ppocr INFO: name : MobileNetV1Enhance
[2024/11/26 16:17:29] ppocr INFO: scale : 0.5
[2024/11/26 16:17:29] ppocr INFO: Head :
[2024/11/26 16:17:29] ppocr INFO: head_list :
[2024/11/26 16:17:29] ppocr INFO: CTCHead :
[2024/11/26 16:17:29] ppocr INFO: Head :
[2024/11/26 16:17:29] ppocr INFO: fc_decay : 1e-05
[2024/11/26 16:17:29] ppocr INFO: Neck :
[2024/11/26 16:17:29] ppocr INFO: depth : 2
[2024/11/26 16:17:29] ppocr INFO: dims : 64
[2024/11/26 16:17:29] ppocr INFO: hidden_dims : 120
[2024/11/26 16:17:29] ppocr INFO: name : svtr
[2024/11/26 16:17:29] ppocr INFO: use_guide : True
[2024/11/26 16:17:29] ppocr INFO: SARHead :
[2024/11/26 16:17:29] ppocr INFO: enc_dim : 512
[2024/11/26 16:17:29] ppocr INFO: max_text_length : 25
[2024/11/26 16:17:29] ppocr INFO: name : MultiHead
[2024/11/26 16:17:29] ppocr INFO: Transform : None
[2024/11/26 16:17:29] ppocr INFO: algorithm : SVTR_LCNet
[2024/11/26 16:17:29] ppocr INFO: model_type : rec
[2024/11/26 16:17:29] ppocr INFO: Eval :
[2024/11/26 16:17:29] ppocr INFO: dataset :
[2024/11/26 16:17:29] ppocr INFO: data_dir : ./tranMyOCR/rec/test/
[2024/11/26 16:17:29] ppocr INFO: label_file_list : ['./tranMyOCR/rec/rec_gt_test.txt']
[2024/11/26 16:17:29] ppocr INFO: name : SimpleDataSet
[2024/11/26 16:17:29] ppocr INFO: transforms :
[2024/11/26 16:17:29] ppocr INFO: DecodeImage :
[2024/11/26 16:17:29] ppocr INFO: channel_first : False
[2024/11/26 16:17:29] ppocr INFO: img_mode : BGR
[2024/11/26 16:17:29] ppocr INFO: MultiLabelEncode : None
[2024/11/26 16:17:29] ppocr INFO: RecResizeImg :
[2024/11/26 16:17:29] ppocr INFO: image_shape : [3, 48, 320]
[2024/11/26 16:17:29] ppocr INFO: KeepKeys :
[2024/11/26 16:17:29] ppocr INFO: keep_keys : ['image', 'label_ctc', 'label_sar', 'length', 'valid_ratio']
[2024/11/26 16:17:29] ppocr INFO: loader :
[2024/11/26 16:17:29] ppocr INFO: batch_size_per_card : 1
[2024/11/26 16:17:29] ppocr INFO: drop_last : False
[2024/11/26 16:17:29] ppocr INFO: num_workers : 1
[2024/11/26 16:17:29] ppocr INFO: shuffle : False
[2024/11/26 16:17:29] ppocr INFO: Global :
[2024/11/26 16:17:29] ppocr INFO: cal_metric_during_train : True
[2024/11/26 16:17:29] ppocr INFO: character_dict_path : tranMyOCR/rec/codeChar.txt
[2024/11/26 16:17:29] ppocr INFO: checkpoints : None
[2024/11/26 16:17:29] ppocr INFO: debug : False
[2024/11/26 16:17:29] ppocr INFO: distributed : False
[2024/11/26 16:17:29] ppocr INFO: epoch_num : 100
[2024/11/26 16:17:29] ppocr INFO: eval_batch_step : [0, 2000]
[2024/11/26 16:17:29] ppocr INFO: infer_img : doc/imgs_words/ch/word_1.jpg
[2024/11/26 16:17:29] ppocr INFO: infer_mode : False
[2024/11/26 16:17:29] ppocr INFO: log_smooth_window : 20
[2024/11/26 16:17:29] ppocr INFO: max_text_length : 25
[2024/11/26 16:17:29] ppocr INFO: pretrained_model : ./pretrain_models/en_PP-OCRv3_rec_train/best_accuracy
[2024/11/26 16:17:29] ppocr INFO: print_batch_step : 10
[2024/11/26 16:17:29] ppocr INFO: save_epoch_step : 10
[2024/11/26 16:17:29] ppocr INFO: save_inference_dir : None
[2024/11/26 16:17:29] ppocr INFO: save_model_dir : ./output/v3_en_mobile/rec
[2024/11/26 16:17:29] ppocr INFO: save_res_path : ./output/rec/predicts_ppocrv3_en.txt
[2024/11/26 16:17:29] ppocr INFO: use_gpu : False
[2024/11/26 16:17:29] ppocr INFO: use_space_char : False
[2024/11/26 16:17:29] ppocr INFO: use_visualdl : False
[2024/11/26 16:17:29] ppocr INFO: Loss :
[2024/11/26 16:17:29] ppocr INFO: loss_config_list :
[2024/11/26 16:17:29] ppocr INFO: CTCLoss : None
[2024/11/26 16:17:29] ppocr INFO: SARLoss : None
[2024/11/26 16:17:29] ppocr INFO: name : MultiLoss
[2024/11/26 16:17:29] ppocr INFO: Metric :
[2024/11/26 16:17:29] ppocr INFO: ignore_space : False
[2024/11/26 16:17:29] ppocr INFO: main_indicator : acc
[2024/11/26 16:17:29] ppocr INFO: name : RecMetric
[2024/11/26 16:17:29] ppocr INFO: Optimizer :
[2024/11/26 16:17:29] ppocr INFO: beta1 : 0.9
[2024/11/26 16:17:29] ppocr INFO: beta2 : 0.999
[2024/11/26 16:17:29] ppocr INFO: lr :
[2024/11/26 16:17:29] ppocr INFO: learning_rate : 0.001
[2024/11/26 16:17:29] ppocr INFO: name : Cosine
[2024/11/26 16:17:29] ppocr INFO: warmup_epoch : 5
[2024/11/26 16:17:29] ppocr INFO: name : Adam
[2024/11/26 16:17:29] ppocr INFO: regularizer :
[2024/11/26 16:17:29] ppocr INFO: factor : 3e-05
[2024/11/26 16:17:29] ppocr INFO: name : L2
[2024/11/26 16:17:29] ppocr INFO: PostProcess :
[2024/11/26 16:17:29] ppocr INFO: name : CTCLabelDecode
[2024/11/26 16:17:29] ppocr INFO: Train :
[2024/11/26 16:17:29] ppocr INFO: dataset :
[2024/11/26 16:17:29] ppocr INFO: data_dir : ./tranMyOCR/rec/train/code/
[2024/11/26 16:17:29] ppocr INFO: ext_op_transform_idx : 1
[2024/11/26 16:17:29] ppocr INFO: label_file_list : ['./tranMyOCR/rec/rec_gt_train.txt']
[2024/11/26 16:17:29] ppocr INFO: name : SimpleDataSet
[2024/11/26 16:17:29] ppocr INFO: transforms :
[2024/11/26 16:17:29] ppocr INFO: DecodeImage :
[2024/11/26 16:17:29] ppocr INFO: channel_first : False
[2024/11/26 16:17:29] ppocr INFO: img_mode : BGR
[2024/11/26 16:17:29] ppocr INFO: RecConAug :
[2024/11/26 16:17:29] ppocr INFO: ext_data_num : 2
[2024/11/26 16:17:29] ppocr INFO: image_shape : [48, 320, 3]
[2024/11/26 16:17:29] ppocr INFO: max_text_length : 25
[2024/11/26 16:17:29] ppocr INFO: prob : 0.5
[2024/11/26 16:17:29] ppocr INFO: RecAug : None
[2024/11/26 16:17:29] ppocr INFO: MultiLabelEncode : None
[2024/11/26 16:17:29] ppocr INFO: RecResizeImg :
[2024/11/26 16:17:29] ppocr INFO: image_shape : [3, 48, 320]
[2024/11/26 16:17:29] ppocr INFO: KeepKeys :
[2024/11/26 16:17:29] ppocr INFO: keep_keys : ['image', 'label_ctc', 'label_sar', 'length', 'valid_ratio']
[2024/11/26 16:17:29] ppocr INFO: loader :
[2024/11/26 16:17:29] ppocr INFO: batch_size_per_card : 128
[2024/11/26 16:17:29] ppocr INFO: drop_last : False
[2024/11/26 16:17:29] ppocr INFO: num_workers : 4
[2024/11/26 16:17:29] ppocr INFO: shuffle : False
[2024/11/26 16:17:29] ppocr INFO: profiler_options : None
[2024/11/26 16:17:29] ppocr INFO: train with paddle 2.6.2 and device Place(cpu)
[2024/11/26 16:17:29] ppocr INFO: Initialize indexs of datasets:['./tranMyOCR/rec/rec_gt_train.txt']
[2024/11/26 16:17:29] ppocr INFO: Initialize indexs of datasets:['./tranMyOCR/rec/rec_gt_test.txt']
[2024/11/26 16:17:29] ppocr INFO: train dataloader has 68 iters
[2024/11/26 16:17:29] ppocr INFO: valid dataloader has 2 iters
[2024/11/26 16:17:30] ppocr WARNING: The shape of model params head.ctc_head.fc.weight [64, 63] not matched with loaded params head.ctc_head.fc.weight [64, 97] !
[2024/11/26 16:17:30] ppocr WARNING: The shape of model params head.ctc_head.fc.bias [63] not matched with loaded params head.ctc_head.fc.bias [97] !
[2024/11/26 16:17:30] ppocr WARNING: The shape of model params head.sar_head.decoder.embedding.weight [65, 512] not matched with loaded params head.sar_head.decoder.embedding.weight [99, 512] !
[2024/11/26 16:17:30] ppocr WARNING: The shape of model params head.sar_head.decoder.prediction.weight [1536, 64] not matched with loaded params head.sar_head.decoder.prediction.weight [1536, 98] !
[2024/11/26 16:17:30] ppocr WARNING: The shape of model params head.sar_head.decoder.prediction.bias [64] not matched with loaded params head.sar_head.decoder.prediction.bias [98] !
[2024/11/26 16:17:30] ppocr INFO: load pretrain successful from ./pretrain_models/en_PP-OCRv3_rec_train/best_accuracy
[2024/11/26 16:17:30] ppocr INFO: During the training process, after the 0th iteration, an evaluation is run every 2000 iterations
[2024/11/26 16:38:39] ppocr INFO: epoch: [1/100], global_step: 10, lr: 0.000013, acc: 0.000000, norm_edit_dis: 0.032113, CTCLoss: 140.249725, SARLoss: 4.179196, loss: 144.440163, avg_reader_cost: 0.08634 s, avg_batch_cost: 126.91939 s, avg_samples: 128.0, ips: 1.00851 samples/s, eta: 9 days, 23:23:02
[2024/11/26 16:59:11] ppocr INFO: epoch: [1/100], global_step: 20, lr: 0.000028, acc: 0.000000, norm_edit_dis: 0.031759, CTCLoss: 140.337952, SARLoss: 4.111631, loss: 144.446289, avg_reader_cost: 0.00114 s, avg_batch_cost: 123.17041 s, avg_samples: 128.0, ips: 1.03921 samples/s, eta: 9 days, 19:30:04
[2024/11/26 17:19:40] ppocr INFO: epoch: [1/100], global_step: 30, lr: 0.000057, acc: 0.000000, norm_edit_dis: 0.031887, CTCLoss: 139.947899, SARLoss: 3.942881, loss: 143.992966, avg_reader_cost: 0.00118 s, avg_batch_cost: 122.85623 s, avg_samples: 128.0, ips: 1.04187 samples/s, eta: 9 days, 17:46:54
[2024/11/26 17:39:54] ppocr INFO: epoch: [1/100], global_step: 40, lr: 0.000087, acc: 0.000000, norm_edit_dis: 0.033394, CTCLoss: 138.106361, SARLoss: 3.705755, loss: 141.752708, avg_reader_cost: 0.00121 s, avg_batch_cost: 121.46191 s, avg_samples: 128.0, ips: 1.05383 samples/s, eta: 9 days, 16:05:49
[2024/11/26 17:59:59] ppocr INFO: epoch: [1/100], global_step: 50, lr: 0.000116, acc: 0.000000, norm_edit_dis: 0.036473, CTCLoss: 134.977722, SARLoss: 3.428253, loss: 138.365036, avg_reader_cost: 0.00120 s, avg_batch_cost: 120.50111 s, avg_samples: 128.0, ips: 1.06223 samples/s, eta: 9 days, 14:35:27
[2024/11/26 18:19:57] ppocr INFO: epoch: [1/100], global_step: 60, lr: 0.000146, acc: 0.000000, norm_edit_dis: 0.039718, CTCLoss: 130.922974, SARLoss: 3.143751, loss: 134.041985, avg_reader_cost: 0.00123 s, avg_batch_cost: 119.74566 s, avg_samples: 128.0, ips: 1.06893 samples/s, eta: 9 days, 13:14:22
[2024/11/26 18:34:25] ppocr INFO: epoch: [1/100], global_step: 68, lr: 0.000169, acc: 0.000000, norm_edit_dis: 0.043204, CTCLoss: 125.258659, SARLoss: 3.005543, loss: 128.248898, avg_reader_cost: 0.00105 s, avg_batch_cost: 86.81288 s, avg_samples: 92.9, ips: 1.07012 samples/s, eta: 9 days, 9:54:12
[2024/11/26 18:34:26] ppocr INFO: save model in ./output/v3_en_mobile/rec/latest
[2024/11/26 18:38:28] ppocr INFO: epoch: [2/100], global_step: 70, lr: 0.000175, acc: 0.000000, norm_edit_dis: 0.044100, CTCLoss: 123.826340, SARLoss: 2.966853, loss: 126.808327, avg_reader_cost: 0.19466 s, avg_batch_cost: 24.32504 s, avg_samples: 25.6, ips: 1.05241 samples/s, eta: 9 days, 9:52:49
[2024/11/26 18:58:28] ppocr INFO: epoch: [2/100], global_step: 80, lr: 0.000204, acc: 0.000000, norm_edit_dis: 0.047809, CTCLoss: 113.285149, SARLoss: 2.867029, loss: 116.152176, avg_reader_cost: 0.00123 s, avg_batch_cost: 119.96491 s, avg_samples: 128.0, ips: 1.06698 samples/s, eta: 9 days, 9:20:36
[2024/11/26 19:18:26] ppocr INFO: epoch: [2/100], global_step: 90, lr: 0.000234, acc: 0.000000, norm_edit_dis: 0.053572, CTCLoss: 98.163284, SARLoss: 2.709570, loss: 100.874550, avg_reader_cost: 0.00107 s, avg_batch_cost: 119.85004 s, avg_samples: 128.0, ips: 1.06800 samples/s, eta: 9 days, 8:49:40
[2024/11/26 19:38:26] ppocr INFO: epoch: [2/100], global_step: 100, lr: 0.000263, acc: 0.000000, norm_edit_dis: 0.059015, CTCLoss: 91.174866, SARLoss: 2.415065, loss: 93.570938, avg_reader_cost: 0.00111 s, avg_batch_cost: 119.95274 s, avg_samples: 128.0, ips: 1.06709 samples/s, eta: 9 days, 8:22:05
[2024/11/26 19:58:23] ppocr INFO: epoch: [2/100], global_step: 110, lr: 0.000293, acc: 0.000000, norm_edit_dis: 0.070507, CTCLoss: 81.827721, SARLoss: 2.116246, loss: 83.943970, avg_reader_cost: 0.00103 s, avg_batch_cost: 119.74167 s, avg_samples: 128.0, ips: 1.06897 samples/s, eta: 9 days, 7:53:44
[2024/11/26 20:18:21] ppocr INFO: epoch: [2/100], global_step: 120, lr: 0.000322, acc: 0.000000, norm_edit_dis: 0.087214, CTCLoss: 73.543182, SARLoss: 1.769446, loss: 75.312630, avg_reader_cost: 0.00102 s, avg_batch_cost: 119.73806 s, avg_samples: 128.0, ips: 1.06900 samples/s, eta: 9 days, 7:26:45
[2024/11/26 20:38:16] ppocr INFO: epoch: [2/100], global_step: 130, lr: 0.000351, acc: 0.000000, norm_edit_dis: 0.106748, CTCLoss: 65.502361, SARLoss: 1.319061, loss: 66.871639, avg_reader_cost: 0.00125 s, avg_batch_cost: 119.51447 s, avg_samples: 128.0, ips: 1.07100 samples/s, eta: 9 days, 6:58:56
[2024/11/26 20:48:45] ppocr INFO: epoch: [2/100], global_step: 136, lr: 0.000369, acc: 0.000000, norm_edit_dis: 0.118675, CTCLoss: 59.505764, SARLoss: 1.081774, loss: 60.611153, avg_reader_cost: 0.00054 s, avg_batch_cost: 62.86376 s, avg_samples: 67.3, ips: 1.07057 samples/s, eta: 9 days, 5:30:34
[2024/11/26 20:48:46] ppocr INFO: save model in ./output/v3_en_mobile/rec/latest
[2024/11/26 20:56:46] ppocr INFO: epoch: [3/100], global_step: 140, lr: 0.000381, acc: 0.000000, norm_edit_dis: 0.128204, CTCLoss: 56.823658, SARLoss: 1.019918, loss: 57.843576, avg_reader_cost: 0.17660 s, avg_batch_cost: 48.13550 s, avg_samples: 51.2, ips: 1.06366 samples/s, eta: 9 days, 5:24:44
[2024/11/26 21:16:38] ppocr INFO: epoch: [3/100], global_step: 150, lr: 0.000410, acc: 0.000000, norm_edit_dis: 0.145090, CTCLoss: 45.900150, SARLoss: 0.790283, loss: 46.709623, avg_reader_cost: 0.00116 s, avg_batch_cost: 119.18596 s, avg_samples: 128.0, ips: 1.07395 samples/s, eta: 9 days, 5:01:07
[2024/11/26 21:36:27] ppocr INFO: epoch: [3/100], global_step: 160, lr: 0.000440, acc: 0.000000, norm_edit_dis: 0.150552, CTCLoss: 38.813038, SARLoss: 0.611342, loss: 39.496063, avg_reader_cost: 0.00116 s, avg_batch_cost: 118.87881 s, avg_samples: 128.0, ips: 1.07673 samples/s, eta: 9 days, 4:35:51
[2024/11/26 21:56:16] ppocr INFO: epoch: [3/100], global_step: 170, lr: 0.000469, acc: 0.000000, norm_edit_dis: 0.149017, CTCLoss: 32.229582, SARLoss: 0.507598, loss: 32.783478, avg_reader_cost: 0.00104 s, avg_batch_cost: 118.92866 s, avg_samples: 128.0, ips: 1.07628 samples/s, eta: 9 days, 4:11:33
[2024/11/26 22:16:02] ppocr INFO: epoch: [3/100], global_step: 180, lr: 0.000499, acc: 0.000000, norm_edit_dis: 0.135668, CTCLoss: 26.767194, SARLoss: 0.455075, loss: 27.210750, avg_reader_cost: 0.00101 s, avg_batch_cost: 118.59242 s, avg_samples: 128.0, ips: 1.07933 samples/s, eta: 9 days, 3:45:41
[2024/11/26 22:35:47] ppocr INFO: epoch: [3/100], global_step: 190, lr: 0.000528, acc: 0.000000, norm_edit_dis: 0.125084, CTCLoss: 22.651901, SARLoss: 0.424120, loss: 23.078594, avg_reader_cost: 0.00101 s, avg_batch_cost: 118.53422 s, avg_samples: 128.0, ips: 1.07986 samples/s, eta: 9 days, 3:20:07
[2024/11/26 22:55:33] ppocr INFO: epoch: [3/100], global_step: 200, lr: 0.000557, acc: 0.000000, norm_edit_dis: 0.120117, CTCLoss: 21.009174, SARLoss: 0.399780, loss: 21.411052, avg_reader_cost: 0.00106 s, avg_batch_cost: 118.62527 s, avg_samples: 128.0, ips: 1.07903 samples/s, eta: 9 days, 2:55:38
[2024/11/26 23:01:58] ppocr INFO: epoch: [3/100], global_step: 204, lr: 0.000569, acc: 0.000000, norm_edit_dis: 0.120117, CTCLoss: 19.940853, SARLoss: 0.398843, loss: 20.357861, avg_reader_cost: 0.00032 s, avg_batch_cost: 38.51260 s, avg_samples: 41.7, ips: 1.08276 samples/s, eta: 9 days, 1:57:49
[2024/11/26 23:01:59] ppocr INFO: save model in ./output/v3_en_mobile/rec/latest
[2024/11/28 19:32:24] ppocr INFO: epoch: [25/100], global_step: 1640, lr: 0.000914, acc: 0.867187, norm_edit_dis: 0.955078, CTCLoss: 0.665039, SARLoss: 0.222908, loss: 0.895764, avg_reader_cost: 0.20434 s, avg_batch_cost: 88.50212 s, avg_samples: 102.4, ips: 1.15703 samples/s, eta: 6 days, 17:14:35
[2024/11/28 19:50:43] ppocr INFO: epoch: [25/100], global_step: 1650, lr: 0.000913, acc: 0.867187, norm_edit_dis: 0.957031, CTCLoss: 0.645450, SARLoss: 0.217806, loss: 0.870277, avg_reader_cost: 0.00100 s, avg_batch_cost: 109.91741 s, avg_samples: 128.0, ips: 1.16451 samples/s, eta: 6 days, 16:54:29
[2024/11/28 20:09:07] ppocr INFO: epoch: [25/100], global_step: 1660, lr: 0.000911, acc: 0.867187, norm_edit_dis: 0.957031, CTCLoss: 0.643771, SARLoss: 0.229183, loss: 0.853525, avg_reader_cost: 0.00114 s, avg_batch_cost: 110.39759 s, avg_samples: 128.0, ips: 1.15945 samples/s, eta: 6 days, 16:34:40
[2024/11/28 20:27:36] ppocr INFO: epoch: [25/100], global_step: 1670, lr: 0.000910, acc: 0.867187, norm_edit_dis: 0.955078, CTCLoss: 0.702896, SARLoss: 0.249264, loss: 0.940029, avg_reader_cost: 0.00112 s, avg_batch_cost: 110.87566 s, avg_samples: 128.0, ips: 1.15445 samples/s, eta: 6 days, 16:15:06
[2024/11/28 20:46:06] ppocr INFO: epoch: [25/100], global_step: 1680, lr: 0.000909, acc: 0.871094, norm_edit_dis: 0.956445, CTCLoss: 0.625145, SARLoss: 0.223989, loss: 0.858064, avg_reader_cost: 0.00103 s, avg_batch_cost: 111.01891 s, avg_samples: 128.0, ips: 1.15296 samples/s, eta: 6 days, 15:55:38
[2024/11/28 21:04:24] ppocr INFO: epoch: [25/100], global_step: 1690, lr: 0.000907, acc: 0.875000, norm_edit_dis: 0.956445, CTCLoss: 0.628431, SARLoss: 0.221230, loss: 0.846726, avg_reader_cost: 0.00099 s, avg_batch_cost: 109.77387 s, avg_samples: 128.0, ips: 1.16603 samples/s, eta: 6 days, 15:35:33
[2024/11/28 21:21:23] ppocr INFO: epoch: [25/100], global_step: 1700, lr: 0.000906, acc: 0.855469, norm_edit_dis: 0.955078, CTCLoss: 0.648131, SARLoss: 0.223533, loss: 0.860315, avg_reader_cost: 0.00105 s, avg_batch_cost: 101.93007 s, avg_samples: 118.5, ips: 1.16256 samples/s, eta: 6 days, 15:11:33
[2024/11/28 21:21:24] ppocr INFO: save model in ./output/v3_en_mobile/rec/latest
[2024/11/28 21:39:47] ppocr INFO: epoch: [26/100], global_step: 1710, lr: 0.000905, acc: 0.871094, norm_edit_dis: 0.958008, CTCLoss: 0.629804, SARLoss: 0.199216, loss: 0.835505, avg_reader_cost: 0.18093 s, avg_batch_cost: 110.37106 s, avg_samples: 128.0, ips: 1.15972 samples/s, eta: 6 days, 14:51:50
[2024/11/28 21:58:09] ppocr INFO: epoch: [26/100], global_step: 1720, lr: 0.000903, acc: 0.882812, norm_edit_dis: 0.963086, CTCLoss: 0.625224, SARLoss: 0.201255, loss: 0.827332, avg_reader_cost: 0.00100 s, avg_batch_cost: 110.22624 s, avg_samples: 128.0, ips: 1.16125 samples/s, eta: 6 days, 14:32:03
[2024/11/28 22:16:34] ppocr INFO: epoch: [26/100], global_step: 1730, lr: 0.000902, acc: 0.878906, norm_edit_dis: 0.962305, CTCLoss: 0.633278, SARLoss: 0.220272, loss: 0.846986, avg_reader_cost: 0.00099 s, avg_batch_cost: 110.47649 s, avg_samples: 128.0, ips: 1.15862 samples/s, eta: 6 days, 14:12:25
[2024/11/28 22:35:13] ppocr INFO: epoch: [26/100], global_step: 1740, lr: 0.000900, acc: 0.875000, norm_edit_dis: 0.961914, CTCLoss: 0.609334, SARLoss: 0.233427, loss: 0.839698, avg_reader_cost: 0.00097 s, avg_batch_cost: 111.92123 s, avg_samples: 128.0, ips: 1.14366 samples/s, eta: 6 days, 13:53:30
[2024/11/28 22:53:50] ppocr INFO: epoch: [26/100], global_step: 1750, lr: 0.000899, acc: 0.921875, norm_edit_dis: 0.977148, CTCLoss: 0.446476, SARLoss: 0.229944, loss: 0.702872, avg_reader_cost: 0.00099 s, avg_batch_cost: 111.73024 s, avg_samples: 128.0, ips: 1.14562 samples/s, eta: 6 days, 13:34:29
[2024/11/28 23:12:26] ppocr INFO: epoch: [26/100], global_step: 1760, lr: 0.000898, acc: 0.953125, norm_edit_dis: 0.984570, CTCLoss: 0.243786, SARLoss: 0.228172, loss: 0.467452, avg_reader_cost: 0.00105 s, avg_batch_cost: 111.54352 s, avg_samples: 128.0, ips: 1.14753 samples/s, eta: 6 days, 13:15:23
[2024/11/28 23:25:50] ppocr INFO: epoch: [26/100], global_step: 1768, lr: 0.000897, acc: 0.953125, norm_edit_dis: 0.985002, CTCLoss: 0.226098, SARLoss: 0.225759, loss: 0.451007, avg_reader_cost: 0.00077 s, avg_batch_cost: 80.44316 s, avg_samples: 92.9, ips: 1.15485 samples/s, eta: 6 days, 12:55:56
[2024/11/28 23:25:51] ppocr INFO: save model in ./output/v3_en_mobile/rec/latest
[2024/11/28 23:29:35] ppocr INFO: epoch: [27/100], global_step: 1770, lr: 0.000896, acc: 0.949219, norm_edit_dis: 0.985742, CTCLoss: 0.222070, SARLoss: 0.230337, loss: 0.451007, avg_reader_cost: 0.17505 s, avg_batch_cost: 22.50832 s, avg_samples: 25.6, ips: 1.13736 samples/s, eta: 6 days, 12:52:13
[2024/11/28 23:48:24] ppocr INFO: epoch: [27/100], global_step: 1780, lr: 0.000895, acc: 0.938447, norm_edit_dis: 0.983594, CTCLoss: 0.251586, SARLoss: 0.241961, loss: 0.494471, avg_reader_cost: 0.00095 s, avg_batch_cost: 112.82684 s, avg_samples: 128.0, ips: 1.13448 samples/s, eta: 6 days, 12:33:46
[2024/11/29 00:07:06] ppocr INFO: epoch: [27/100], global_step: 1790, lr: 0.000893, acc: 0.941406, norm_edit_dis: 0.982617, CTCLoss: 0.251076, SARLoss: 0.249891, loss: 0.495378, avg_reader_cost: 0.00100 s, avg_batch_cost: 112.26702 s, avg_samples: 128.0, ips: 1.14014 samples/s, eta: 6 days, 12:15:03
[2024/11/29 00:25:43] ppocr INFO: epoch: [27/100], global_step: 1800, lr: 0.000892, acc: 0.949219, norm_edit_dis: 0.986328, CTCLoss: 0.227195, SARLoss: 0.246452, loss: 0.480073, avg_reader_cost: 0.00093 s, avg_batch_cost: 111.63206 s, avg_samples: 128.0, ips: 1.14662 samples/s, eta: 6 days, 11:56:02
[2024/11/29 00:44:28] ppocr INFO: epoch: [27/100], global_step: 1810, lr: 0.000891, acc: 0.945312, norm_edit_dis: 0.984375, CTCLoss: 0.225945, SARLoss: 0.238214, loss: 0.480073, avg_reader_cost: 0.00093 s, avg_batch_cost: 112.50322 s, avg_samples: 128.0, ips: 1.13775 samples/s, eta: 6 days, 11:37:26
[2024/11/29 01:03:05] ppocr INFO: epoch: [27/100], global_step: 1820, lr: 0.000889, acc: 0.960937, norm_edit_dis: 0.990234, CTCLoss: 0.191655, SARLoss: 0.229114, loss: 0.426763, avg_reader_cost: 0.00092 s, avg_batch_cost: 111.77169 s, avg_samples: 128.0, ips: 1.14519 samples/s, eta: 6 days, 11:18:30
[2024/11/29 01:21:38] ppocr INFO: epoch: [27/100], global_step: 1830, lr: 0.000888, acc: 0.964844, norm_edit_dis: 0.990234, CTCLoss: 0.187444, SARLoss: 0.226688, loss: 0.428396, avg_reader_cost: 0.00092 s, avg_batch_cost: 111.29265 s, avg_samples: 128.0, ips: 1.15012 samples/s, eta: 6 days, 10:59:20
[2024/11/29 01:31:24] ppocr INFO: epoch: [27/100], global_step: 1836, lr: 0.000887, acc: 0.964844, norm_edit_dis: 0.989258, CTCLoss: 0.183750, SARLoss: 0.217150, loss: 0.409839, avg_reader_cost: 0.00052 s, avg_batch_cost: 58.62333 s, avg_samples: 67.3, ips: 1.14801 samples/s, eta: 6 days, 10:44:11
[2024/11/29 01:31:25] ppocr INFO: save model in ./output/v3_en_mobile/rec/latest
[2024/12/05 02:40:15] ppocr INFO: epoch: [95/100], global_step: 6400, lr: 0.000030, acc: 0.980469, norm_edit_dis: 0.994141, CTCLoss: 0.062934, SARLoss: 0.200978, loss: 0.263511, avg_reader_cost: 0.66980 s, avg_batch_cost: 93.67755 s, avg_samples: 102.4, ips: 1.09311 samples/s, eta: 12:38:53
[2024/12/05 02:59:36] ppocr INFO: epoch: [95/100], global_step: 6410, lr: 0.000029, acc: 0.976562, norm_edit_dis: 0.993164, CTCLoss: 0.072914, SARLoss: 0.205263, loss: 0.273764, avg_reader_cost: 0.00098 s, avg_batch_cost: 116.09661 s, avg_samples: 128.0, ips: 1.10253 samples/s, eta: 12:19:56
[2024/12/05 03:18:58] ppocr INFO: epoch: [95/100], global_step: 6420, lr: 0.000028, acc: 0.972656, norm_edit_dis: 0.992188, CTCLoss: 0.078075, SARLoss: 0.194455, loss: 0.276651, avg_reader_cost: 0.00102 s, avg_batch_cost: 116.11733 s, avg_samples: 128.0, ips: 1.10233 samples/s, eta: 12:00:59
[2024/12/05 03:38:19] ppocr INFO: epoch: [95/100], global_step: 6430, lr: 0.000027, acc: 0.976562, norm_edit_dis: 0.992188, CTCLoss: 0.070750, SARLoss: 0.194255, loss: 0.261623, avg_reader_cost: 0.00098 s, avg_batch_cost: 116.17714 s, avg_samples: 128.0, ips: 1.10177 samples/s, eta: 11:42:02
[2024/12/05 03:57:34] ppocr INFO: epoch: [95/100], global_step: 6440, lr: 0.000027, acc: 0.976562, norm_edit_dis: 0.993164, CTCLoss: 0.060632, SARLoss: 0.202675, loss: 0.257443, avg_reader_cost: 0.00095 s, avg_batch_cost: 115.51762 s, avg_samples: 128.0, ips: 1.10806 samples/s, eta: 11:23:04
[2024/12/05 04:16:55] ppocr INFO: epoch: [95/100], global_step: 6450, lr: 0.000026, acc: 0.980469, norm_edit_dis: 0.994141, CTCLoss: 0.056640, SARLoss: 0.202049, loss: 0.253322, avg_reader_cost: 0.00098 s, avg_batch_cost: 116.05819 s, avg_samples: 128.0, ips: 1.10290 samples/s, eta: 11:04:07
[2024/12/05 04:34:50] ppocr INFO: epoch: [95/100], global_step: 6460, lr: 0.000025, acc: 0.980469, norm_edit_dis: 0.994141, CTCLoss: 0.059730, SARLoss: 0.211397, loss: 0.268864, avg_reader_cost: 0.00095 s, avg_batch_cost: 107.49639 s, avg_samples: 118.5, ips: 1.10236 samples/s, eta: 10:45:05
[2024/12/05 04:35:01] ppocr INFO: save model in ./output/v3_en_mobile/rec/latest
[2024/12/05 04:54:24] ppocr INFO: epoch: [96/100], global_step: 6470, lr: 0.000025, acc: 0.976562, norm_edit_dis: 0.993282, CTCLoss: 0.063934, SARLoss: 0.218960, loss: 0.281701, avg_reader_cost: 1.11316 s, avg_batch_cost: 117.38723 s, avg_samples: 128.0, ips: 1.09041 samples/s, eta: 10:26:09
[2024/12/05 05:13:37] ppocr INFO: epoch: [96/100], global_step: 6480, lr: 0.000024, acc: 0.976562, norm_edit_dis: 0.993164, CTCLoss: 0.062010, SARLoss: 0.215763, loss: 0.281737, avg_reader_cost: 0.00103 s, avg_batch_cost: 115.32429 s, avg_samples: 128.0, ips: 1.10991 samples/s, eta: 10:07:11
[2024/12/05 05:32:57] ppocr INFO: epoch: [96/100], global_step: 6490, lr: 0.000023, acc: 0.976562, norm_edit_dis: 0.992188, CTCLoss: 0.079425, SARLoss: 0.207575, loss: 0.284254, avg_reader_cost: 0.00100 s, avg_batch_cost: 115.94746 s, avg_samples: 128.0, ips: 1.10395 samples/s, eta: 9:48:13
[2024/12/05 05:52:13] ppocr INFO: epoch: [96/100], global_step: 6500, lr: 0.000022, acc: 0.976562, norm_edit_dis: 0.992188, CTCLoss: 0.069951, SARLoss: 0.206197, loss: 0.275403, avg_reader_cost: 0.00099 s, avg_batch_cost: 115.61137 s, avg_samples: 128.0, ips: 1.10716 samples/s, eta: 9:29:16
[2024/12/05 06:11:29] ppocr INFO: epoch: [96/100], global_step: 6510, lr: 0.000022, acc: 0.976562, norm_edit_dis: 0.994141, CTCLoss: 0.064806, SARLoss: 0.206197, loss: 0.259563, avg_reader_cost: 0.00098 s, avg_batch_cost: 115.63557 s, avg_samples: 128.0, ips: 1.10693 samples/s, eta: 9:10:18
[2024/12/05 06:30:44] ppocr INFO: epoch: [96/100], global_step: 6520, lr: 0.000021, acc: 0.984375, norm_edit_dis: 0.995117, CTCLoss: 0.055191, SARLoss: 0.194761, loss: 0.252131, avg_reader_cost: 0.00101 s, avg_batch_cost: 115.47653 s, avg_samples: 128.0, ips: 1.10845 samples/s, eta: 8:51:20
[2024/12/05 06:44:41] ppocr INFO: epoch: [96/100], global_step: 6528, lr: 0.000021, acc: 0.980469, norm_edit_dis: 0.994141, CTCLoss: 0.055370, SARLoss: 0.188719, loss: 0.248620, avg_reader_cost: 0.00074 s, avg_batch_cost: 83.66709 s, avg_samples: 92.9, ips: 1.11035 samples/s, eta: 8:36:06
[2024/12/05 06:44:47] ppocr INFO: save model in ./output/v3_en_mobile/rec/latest
[2024/12/05 06:48:39] ppocr INFO: epoch: [97/100], global_step: 6530, lr: 0.000020, acc: 0.984375, norm_edit_dis: 0.996094, CTCLoss: 0.046363, SARLoss: 0.188719, loss: 0.245980, avg_reader_cost: 0.69962 s, avg_batch_cost: 23.85160 s, avg_samples: 25.6, ips: 1.07330 samples/s, eta: 8:32:19
[2024/12/05 07:07:50] ppocr INFO: epoch: [97/100], global_step: 6540, lr: 0.000020, acc: 0.980469, norm_edit_dis: 0.994141, CTCLoss: 0.044967, SARLoss: 0.200589, loss: 0.248867, avg_reader_cost: 0.00100 s, avg_batch_cost: 115.12082 s, avg_samples: 128.0, ips: 1.11188 samples/s, eta: 8:13:21
[2024/12/05 07:27:04] ppocr INFO: epoch: [97/100], global_step: 6550, lr: 0.000019, acc: 0.984375, norm_edit_dis: 0.996094, CTCLoss: 0.046143, SARLoss: 0.196137, loss: 0.249024, avg_reader_cost: 0.00099 s, avg_batch_cost: 115.34387 s, avg_samples: 128.0, ips: 1.10973 samples/s, eta: 7:54:23
[2024/12/05 07:46:19] ppocr INFO: epoch: [97/100], global_step: 6560, lr: 0.000018, acc: 0.980469, norm_edit_dis: 0.994141, CTCLoss: 0.052827, SARLoss: 0.198498, loss: 0.268863, avg_reader_cost: 0.00099 s, avg_batch_cost: 115.56640 s, avg_samples: 128.0, ips: 1.10759 samples/s, eta: 7:35:25
[2024/12/05 08:05:40] ppocr INFO: epoch: [97/100], global_step: 6570, lr: 0.000018, acc: 0.976562, norm_edit_dis: 0.994141, CTCLoss: 0.051903, SARLoss: 0.207847, loss: 0.270485, avg_reader_cost: 0.00099 s, avg_batch_cost: 116.06157 s, avg_samples: 128.0, ips: 1.10286 samples/s, eta: 7:16:27
[2024/12/05 08:24:57] ppocr INFO: epoch: [97/100], global_step: 6580, lr: 0.000017, acc: 0.980469, norm_edit_dis: 0.995117, CTCLoss: 0.061120, SARLoss: 0.205299, loss: 0.271759, avg_reader_cost: 0.00097 s, avg_batch_cost: 115.64747 s, avg_samples: 128.0, ips: 1.10681 samples/s, eta: 6:57:29
[2024/12/05 08:44:19] ppocr INFO: epoch: [97/100], global_step: 6590, lr: 0.000017, acc: 0.968750, norm_edit_dis: 0.992188, CTCLoss: 0.072869, SARLoss: 0.202177, loss: 0.282623, avg_reader_cost: 0.00103 s, avg_batch_cost: 116.29222 s, avg_samples: 128.0, ips: 1.10068 samples/s, eta: 6:38:31
[2024/12/05 08:54:28] ppocr INFO: epoch: [97/100], global_step: 6596, lr: 0.000016, acc: 0.973130, norm_edit_dis: 0.992306, CTCLoss: 0.068752, SARLoss: 0.204905, loss: 0.265998, avg_reader_cost: 0.00057 s, avg_batch_cost: 60.85253 s, avg_samples: 67.3, ips: 1.10595 samples/s, eta: 6:27:06
[2024/12/05 08:54:34] ppocr INFO: save model in ./output/v3_en_mobile/rec/latest
[2024/12/05 09:02:35] ppocr INFO: epoch: [98/100], global_step: 6600, lr: 0.000016, acc: 0.976562, norm_edit_dis: 0.994141, CTCLoss: 0.062947, SARLoss: 0.204137, loss: 0.256109, avg_reader_cost: 0.64975 s, avg_batch_cost: 48.74205 s, avg_samples: 51.2, ips: 1.05043 samples/s, eta: 6:19:31
[2024/12/05 09:21:54] ppocr INFO: epoch: [98/100], global_step: 6610, lr: 0.000016, acc: 0.980469, norm_edit_dis: 0.994141, CTCLoss: 0.057387, SARLoss: 0.206368, loss: 0.256109, avg_reader_cost: 0.00100 s, avg_batch_cost: 115.90965 s, avg_samples: 128.0, ips: 1.10431 samples/s, eta: 6:00:33
[2024/12/05 09:41:30] ppocr INFO: epoch: [98/100], global_step: 6620, lr: 0.000015, acc: 0.976562, norm_edit_dis: 0.993555, CTCLoss: 0.061047, SARLoss: 0.196231, loss: 0.252549, avg_reader_cost: 0.00097 s, avg_batch_cost: 117.54576 s, avg_samples: 128.0, ips: 1.08894 samples/s, eta: 5:41:36
[2024/12/05 10:01:11] ppocr INFO: epoch: [98/100], global_step: 6630, lr: 0.000014, acc: 0.976562, norm_edit_dis: 0.994141, CTCLoss: 0.060574, SARLoss: 0.195427, loss: 0.238926, avg_reader_cost: 0.00097 s, avg_batch_cost: 118.11224 s, avg_samples: 128.0, ips: 1.08371 samples/s, eta: 5:22:38
[2024/12/05 10:20:20] ppocr INFO: epoch: [98/100], global_step: 6640, lr: 0.000014, acc: 0.976562, norm_edit_dis: 0.994141, CTCLoss: 0.058942, SARLoss: 0.201522, loss: 0.267390, avg_reader_cost: 0.00094 s, avg_batch_cost: 114.92150 s, avg_samples: 128.0, ips: 1.11380 samples/s, eta: 5:03:40
[2024/12/05 10:39:22] ppocr INFO: epoch: [98/100], global_step: 6650, lr: 0.000013, acc: 0.976562, norm_edit_dis: 0.994141, CTCLoss: 0.051596, SARLoss: 0.204450, loss: 0.267390, avg_reader_cost: 0.00098 s, avg_batch_cost: 114.19735 s, avg_samples: 128.0, ips: 1.12087 samples/s, eta: 4:44:41
[2024/12/05 10:58:54] ppocr INFO: epoch: [98/100], global_step: 6660, lr: 0.000013, acc: 0.976562, norm_edit_dis: 0.994141, CTCLoss: 0.057642, SARLoss: 0.203138, loss: 0.258326, avg_reader_cost: 0.00181 s, avg_batch_cost: 117.17209 s, avg_samples: 128.0, ips: 1.09241 samples/s, eta: 4:25:43
[2024/12/05 11:05:26] ppocr INFO: epoch: [98/100], global_step: 6664, lr: 0.000013, acc: 0.976562, norm_edit_dis: 0.994141, CTCLoss: 0.054856, SARLoss: 0.204450, loss: 0.258326, avg_reader_cost: 0.00314 s, avg_batch_cost: 39.24055 s, avg_samples: 41.7, ips: 1.06268 samples/s, eta: 4:18:06
[2024/12/05 11:05:45] ppocr INFO: save model in ./output/v3_en_mobile/rec/latest
[2024/12/05 11:18:13] ppocr INFO: epoch: [99/100], global_step: 6670, lr: 0.000012, acc: 0.976562, norm_edit_dis: 0.994141, CTCLoss: 0.057642, SARLoss: 0.203259, loss: 0.264067, avg_reader_cost: 1.95248 s, avg_batch_cost: 76.68498 s, avg_samples: 76.8, ips: 1.00150 samples/s, eta: 4:06:44
[2024/12/05 11:37:55] ppocr INFO: epoch: [99/100], global_step: 6680, lr: 0.000012, acc: 0.976562, norm_edit_dis: 0.994141, CTCLoss: 0.057418, SARLoss: 0.201389, loss: 0.261759, avg_reader_cost: 0.00139 s, avg_batch_cost: 118.13585 s, avg_samples: 128.0, ips: 1.08350 samples/s, eta: 3:47:46
[2024/12/05 11:57:22] ppocr INFO: epoch: [99/100], global_step: 6690, lr: 0.000011, acc: 0.976562, norm_edit_dis: 0.992188, CTCLoss: 0.069766, SARLoss: 0.201457, loss: 0.257258, avg_reader_cost: 0.00127 s, avg_batch_cost: 116.77724 s, avg_samples: 128.0, ips: 1.09610 samples/s, eta: 3:28:48
[2024/12/05 12:16:46] ppocr INFO: epoch: [99/100], global_step: 6700, lr: 0.000011, acc: 0.976562, norm_edit_dis: 0.992188, CTCLoss: 0.071842, SARLoss: 0.212190, loss: 0.286580, avg_reader_cost: 0.00115 s, avg_batch_cost: 116.33592 s, avg_samples: 128.0, ips: 1.10026 samples/s, eta: 3:09:49
[2024/12/05 12:36:08] ppocr INFO: epoch: [99/100], global_step: 6710, lr: 0.000010, acc: 0.976562, norm_edit_dis: 0.992188, CTCLoss: 0.086248, SARLoss: 0.209705, loss: 0.301500, avg_reader_cost: 0.38982 s, avg_batch_cost: 116.19055 s, avg_samples: 128.0, ips: 1.10164 samples/s, eta: 2:50:51
[2024/12/05 12:55:52] ppocr INFO: epoch: [99/100], global_step: 6720, lr: 0.000010, acc: 0.976562, norm_edit_dis: 0.992188, CTCLoss: 0.085912, SARLoss: 0.199101, loss: 0.287025, avg_reader_cost: 0.00117 s, avg_batch_cost: 118.42259 s, avg_samples: 128.0, ips: 1.08087 samples/s, eta: 2:31:52
[2024/12/05 13:15:25] ppocr INFO: epoch: [99/100], global_step: 6730, lr: 0.000009, acc: 0.976562, norm_edit_dis: 0.992188, CTCLoss: 0.073639, SARLoss: 0.199101, loss: 0.274696, avg_reader_cost: 0.00179 s, avg_batch_cost: 117.25961 s, avg_samples: 128.0, ips: 1.09160 samples/s, eta: 2:12:53
[2024/12/05 13:17:52] ppocr INFO: epoch: [99/100], global_step: 6732, lr: 0.000009, acc: 0.976562, norm_edit_dis: 0.992188, CTCLoss: 0.073639, SARLoss: 0.197194, loss: 0.274696, avg_reader_cost: 0.00019 s, avg_batch_cost: 14.69416 s, avg_samples: 16.1, ips: 1.09567 samples/s, eta: 2:09:05
[2024/12/05 13:17:59] ppocr INFO: save model in ./output/v3_en_mobile/rec/latest
[2024/12/05 13:33:49] ppocr INFO: epoch: [100/100], global_step: 6740, lr: 0.000009, acc: 0.980469, norm_edit_dis: 0.994141, CTCLoss: 0.061659, SARLoss: 0.191291, loss: 0.254990, avg_reader_cost: 0.85959 s, avg_batch_cost: 95.75491 s, avg_samples: 102.4, ips: 1.06940 samples/s, eta: 1:53:54
[2024/12/05 13:53:15] ppocr INFO: epoch: [100/100], global_step: 6750, lr: 0.000009, acc: 0.976562, norm_edit_dis: 0.994141, CTCLoss: 0.058550, SARLoss: 0.191291, loss: 0.253553, avg_reader_cost: 0.00127 s, avg_batch_cost: 116.59761 s, avg_samples: 128.0, ips: 1.09779 samples/s, eta: 1:34:55
[2024/12/05 14:12:29] ppocr INFO: epoch: [100/100], global_step: 6760, lr: 0.000008, acc: 0.976562, norm_edit_dis: 0.994141, CTCLoss: 0.058578, SARLoss: 0.198624, loss: 0.250135, avg_reader_cost: 0.00113 s, avg_batch_cost: 115.42198 s, avg_samples: 128.0, ips: 1.10897 samples/s, eta: 1:15:56
[2024/12/05 14:32:40] ppocr INFO: epoch: [100/100], global_step: 6770, lr: 0.000008, acc: 0.976562, norm_edit_dis: 0.994141, CTCLoss: 0.054885, SARLoss: 0.197873, loss: 0.243868, avg_reader_cost: 0.00340 s, avg_batch_cost: 121.02238 s, avg_samples: 128.0, ips: 1.05766 samples/s, eta: 0:56:57
[2024/12/05 14:52:10] ppocr INFO: epoch: [100/100], global_step: 6780, lr: 0.000007, acc: 0.984375, norm_edit_dis: 0.996094, CTCLoss: 0.054832, SARLoss: 0.207757, loss: 0.256661, avg_reader_cost: 0.00128 s, avg_batch_cost: 117.03600 s, avg_samples: 128.0, ips: 1.09368 samples/s, eta: 0:37:58
[2024/12/05 15:11:38] ppocr INFO: epoch: [100/100], global_step: 6790, lr: 0.000007, acc: 0.984375, norm_edit_dis: 0.996094, CTCLoss: 0.057372, SARLoss: 0.210247, loss: 0.264738, avg_reader_cost: 0.00108 s, avg_batch_cost: 116.77361 s, avg_samples: 128.0, ips: 1.09614 samples/s, eta: 0:18:59
[2024/12/05 15:29:41] ppocr INFO: epoch: [100/100], global_step: 6800, lr: 0.000007, acc: 0.976562, norm_edit_dis: 0.994141, CTCLoss: 0.071549, SARLoss: 0.200005, loss: 0.270200, avg_reader_cost: 0.00118 s, avg_batch_cost: 108.30952 s, avg_samples: 118.5, ips: 1.09409 samples/s, eta: 0:00:00
[2024/12/05 15:29:53] ppocr INFO: save model in ./output/v3_en_mobile/rec/latest
[2024/12/05 15:29:53] ppocr INFO: save model in ./output/v3_en_mobile/rec/iter_epoch_100
[2024/12/05 15:29:53] ppocr INFO: best metric, acc: 0.0, is_float16: False, norm_edit_dis: 0.1250043749781251, fps: 3.5135442591557884, best_epoch: 89
2.6、预测
使用save_model_dir保存的best_accuracy模型参数进行预测。
# 识别图片
python tools/infer_rec.py -c configs/rec/PP-OCRv3/en_PP-OCRv3_rec_zk.yml Global.infer_img=./tranMyOCR/rec/test/gz4a.png
# 若训练配置文件没有配置checkpoints
python tools/infer_rec.py -c configs/rec/PP-OCRv3/en_PP-OCRv3_rec_zk.yml -o Global.checkpoints=./output/v3_en_mobile/rec/best_accuracy Global.infer_img=./tranMyOCR/rec/test/gz4a.png
# 测试识别日志
(base) Dell:~/GitHub/PaddleOCR$ python3 tools/infer_rec.py -c configs/rec/PP-OCRv3/en_PP-OCRv3_rec_zk.yml -o Global.checkpoints=./output/v3_en_mobile/rec/best_accuracy Global.infer_img=./tranMyOCR/rec/test/gz4a.png
[2024/12/13 13:24:33] ppocr INFO: Architecture :
[2024/12/13 13:24:33] ppocr INFO: Backbone :
[2024/12/13 13:24:33] ppocr INFO: last_conv_stride : [1, 2]
[2024/12/13 13:24:33] ppocr INFO: last_pool_kernel_size : [2, 2]
[2024/12/13 13:24:33] ppocr INFO: last_pool_type : avg
[2024/12/13 13:24:33] ppocr INFO: name : MobileNetV1Enhance
[2024/12/13 13:24:33] ppocr INFO: scale : 0.5
[2024/12/13 13:24:33] ppocr INFO: Head :
[2024/12/13 13:24:33] ppocr INFO: head_list :
[2024/12/13 13:24:33] ppocr INFO: CTCHead :
[2024/12/13 13:24:33] ppocr INFO: Head :
[2024/12/13 13:24:33] ppocr INFO: fc_decay : 1e-05
[2024/12/13 13:24:33] ppocr INFO: Neck :
[2024/12/13 13:24:33] ppocr INFO: depth : 2
[2024/12/13 13:24:33] ppocr INFO: dims : 64
[2024/12/13 13:24:33] ppocr INFO: hidden_dims : 120
[2024/12/13 13:24:33] ppocr INFO: name : svtr
[2024/12/13 13:24:33] ppocr INFO: use_guide : True
[2024/12/13 13:24:33] ppocr INFO: SARHead :
[2024/12/13 13:24:33] ppocr INFO: enc_dim : 512
[2024/12/13 13:24:33] ppocr INFO: max_text_length : 25
[2024/12/13 13:24:33] ppocr INFO: name : MultiHead
[2024/12/13 13:24:33] ppocr INFO: Transform : None
[2024/12/13 13:24:33] ppocr INFO: algorithm : SVTR_LCNet
[2024/12/13 13:24:33] ppocr INFO: model_type : rec
[2024/12/13 13:24:33] ppocr INFO: Eval :
[2024/12/13 13:24:33] ppocr INFO: dataset :
[2024/12/13 13:24:33] ppocr INFO: data_dir : ./tranMyOCR/rec/test/
[2024/12/13 13:24:33] ppocr INFO: label_file_list : ['./tranMyOCR/rec/rec_gt_test.txt']
[2024/12/13 13:24:33] ppocr INFO: name : SimpleDataSet
[2024/12/13 13:24:33] ppocr INFO: transforms :
[2024/12/13 13:24:33] ppocr INFO: DecodeImage :
[2024/12/13 13:24:33] ppocr INFO: channel_first : False
[2024/12/13 13:24:33] ppocr INFO: img_mode : BGR
[2024/12/13 13:24:33] ppocr INFO: MultiLabelEncode : None
[2024/12/13 13:24:33] ppocr INFO: RecResizeImg :
[2024/12/13 13:24:33] ppocr INFO: image_shape : [3, 48, 320]
[2024/12/13 13:24:33] ppocr INFO: KeepKeys :
[2024/12/13 13:24:33] ppocr INFO: keep_keys : ['image', 'label_ctc', 'label_sar', 'length', 'valid_ratio']
[2024/12/13 13:24:33] ppocr INFO: loader :
[2024/12/13 13:24:33] ppocr INFO: batch_size_per_card : 1
[2024/12/13 13:24:33] ppocr INFO: drop_last : False
[2024/12/13 13:24:33] ppocr INFO: num_workers : 1
[2024/12/13 13:24:33] ppocr INFO: shuffle : False
[2024/12/13 13:24:33] ppocr INFO: Global :
[2024/12/13 13:24:33] ppocr INFO: cal_metric_during_train : True
[2024/12/13 13:24:33] ppocr INFO: character_dict_path : ./tranMyOCR/rec/codeChar.txt
[2024/12/13 13:24:33] ppocr INFO: checkpoints : ./output/v3_en_mobile/rec/best_accuracy
[2024/12/13 13:24:33] ppocr INFO: debug : False
[2024/12/13 13:24:33] ppocr INFO: distributed : False
[2024/12/13 13:24:33] ppocr INFO: epoch_num : 100
[2024/12/13 13:24:33] ppocr INFO: eval_batch_step : [0, 2000]
[2024/12/13 13:24:33] ppocr INFO: infer_img : ./tranMyOCR/rec/train/code/1B9X_1578448103014.png
[2024/12/13 13:24:33] ppocr INFO: infer_mode : False
[2024/12/13 13:24:33] ppocr INFO: log_smooth_window : 20
[2024/12/13 13:24:33] ppocr INFO: max_text_length : 25
[2024/12/13 13:24:33] ppocr INFO: pretrained_model : ./pretrain_models/en_PP-OCRv3_rec_train/best_accuracy
[2024/12/13 13:24:33] ppocr INFO: print_batch_step : 10
[2024/12/13 13:24:33] ppocr INFO: save_epoch_step : 10
[2024/12/13 13:24:33] ppocr INFO: save_inference_dir : None
[2024/12/13 13:24:33] ppocr INFO: save_model_dir : ./output/v3_en_mobile/rec
[2024/12/13 13:24:33] ppocr INFO: save_res_path : ./output/rec/predicts_ppocrv3_en.txt
[2024/12/13 13:24:33] ppocr INFO: use_gpu : False
[2024/12/13 13:24:33] ppocr INFO: use_space_char : False
[2024/12/13 13:24:33] ppocr INFO: use_visualdl : False
[2024/12/13 13:24:33] ppocr INFO: Loss :
[2024/12/13 13:24:33] ppocr INFO: loss_config_list :
[2024/12/13 13:24:33] ppocr INFO: CTCLoss : None
[2024/12/13 13:24:33] ppocr INFO: SARLoss : None
[2024/12/13 13:24:33] ppocr INFO: name : MultiLoss
[2024/12/13 13:24:33] ppocr INFO: Metric :
[2024/12/13 13:24:33] ppocr INFO: ignore_space : False
[2024/12/13 13:24:33] ppocr INFO: main_indicator : acc
[2024/12/13 13:24:33] ppocr INFO: name : RecMetric
[2024/12/13 13:24:33] ppocr INFO: Optimizer :
[2024/12/13 13:24:33] ppocr INFO: beta1 : 0.9
[2024/12/13 13:24:33] ppocr INFO: beta2 : 0.999
[2024/12/13 13:24:33] ppocr INFO: lr :
[2024/12/13 13:24:33] ppocr INFO: learning_rate : 0.001
[2024/12/13 13:24:33] ppocr INFO: name : Cosine
[2024/12/13 13:24:33] ppocr INFO: warmup_epoch : 5
[2024/12/13 13:24:33] ppocr INFO: name : Adam
[2024/12/13 13:24:33] ppocr INFO: regularizer :
[2024/12/13 13:24:33] ppocr INFO: factor : 3e-05
[2024/12/13 13:24:33] ppocr INFO: name : L2
[2024/12/13 13:24:33] ppocr INFO: PostProcess :
[2024/12/13 13:24:33] ppocr INFO: name : CTCLabelDecode
[2024/12/13 13:24:33] ppocr INFO: Train :
[2024/12/13 13:24:33] ppocr INFO: dataset :
[2024/12/13 13:24:33] ppocr INFO: data_dir : ./tranMyOCR/rec/train/code/
[2024/12/13 13:24:33] ppocr INFO: ext_op_transform_idx : 1
[2024/12/13 13:24:33] ppocr INFO: label_file_list : ['./tranMyOCR/rec/rec_gt_train.txt']
[2024/12/13 13:24:33] ppocr INFO: name : SimpleDataSet
[2024/12/13 13:24:33] ppocr INFO: transforms :
[2024/12/13 13:24:33] ppocr INFO: DecodeImage :
[2024/12/13 13:24:33] ppocr INFO: channel_first : False
[2024/12/13 13:24:33] ppocr INFO: img_mode : BGR
[2024/12/13 13:24:33] ppocr INFO: RecConAug :
[2024/12/13 13:24:33] ppocr INFO: ext_data_num : 2
[2024/12/13 13:24:33] ppocr INFO: image_shape : [48, 320, 3]
[2024/12/13 13:24:33] ppocr INFO: max_text_length : 25
[2024/12/13 13:24:33] ppocr INFO: prob : 0.5
[2024/12/13 13:24:33] ppocr INFO: RecAug : None
[2024/12/13 13:24:33] ppocr INFO: MultiLabelEncode : None
[2024/12/13 13:24:33] ppocr INFO: RecResizeImg :
[2024/12/13 13:24:33] ppocr INFO: image_shape : [3, 48, 320]
[2024/12/13 13:24:33] ppocr INFO: KeepKeys :
[2024/12/13 13:24:33] ppocr INFO: keep_keys : ['image', 'label_ctc', 'label_sar', 'length', 'valid_ratio']
[2024/12/13 13:24:33] ppocr INFO: loader :
[2024/12/13 13:24:33] ppocr INFO: batch_size_per_card : 128
[2024/12/13 13:24:33] ppocr INFO: drop_last : False
[2024/12/13 13:24:33] ppocr INFO: num_workers : 4
[2024/12/13 13:24:33] ppocr INFO: shuffle : False
[2024/12/13 13:24:33] ppocr INFO: profiler_options : None
[2024/12/13 13:24:33] ppocr INFO: train with paddle 2.6.2 and device Place(cpu)
[2024/12/13 13:24:34] ppocr INFO: resume from ./output/v3_en_mobile/rec/best_accuracy
[2024/12/13 13:24:34] ppocr INFO: infer_img: ./tranMyOCR/rec/test/gz4a.png
[2024/12/13 13:24:34] ppocr INFO: result: gz4a 0.999707818031311
[2024/12/13 13:24:34] ppocr INFO: success!
2.7、保存inference
训练完成后的保存到save_model_dir配置下的模型不能直接使用,需要转换成inference模型后,才能让paddleocr使用。打开命令行执行下面转换命令即可。
# 导出inference模型
python tools/export_model.py -c configs/rec/PP-OCRv3/en_PP-OCRv3_rec_zk.yml
# 若训练配置文件没有配置pretrained_model、save_inference_dir
python tools/export_model.py -c configs/rec/PP-OCRv3/en_PP-OCRv3_rec_zk.yml -o Global.pretrained_model=./pretrain_models/en_PP-OCRv3_rec_train/best_accuracy Global.save_inference_dir=./inference/rec_crnn/
三、其他
官网链接:文本识别训练
更多推荐
所有评论(0)