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)
[x] I have searched the PaddleOCR Docs and found no similar bug report.
[X] I have searched the PaddleOCR Issues and found no similar bug report.
[X] I have searched the PaddleOCR Discussions and found no similar bug report.
🐛 Bug (问题描述)
描述
在对从models_list中en_PP-OCRv4_rec.yml对应的en_PP-OCRv4_rec模型进行训练时,总是在300-1000 epoch左右出现ZeroDivisionError: float division by zero
我对en_PP-OCRv4_rec.yml只修改了Global.pretrained_model、Global.epoch_num、Global.save_model_dir、Train.dataset.data_dir、Train.dataset.label_file_list、Eval.dataset.data_dir、Eval.dataset.label_file_list这几个必要的参数,其余均保持从models_list下载时的默认参数。
🔎 Search before asking
🐛 Bug (问题描述)
描述
在对从models_list中
en_PP-OCRv4_rec.yml
对应的en_PP-OCRv4_rec
模型进行训练时,总是在300-1000 epoch左右出现ZeroDivisionError: float division by zero
我对en_PP-OCRv4_rec.yml只修改了Global.pretrained_model
、Global.epoch_num
、Global.save_model_dir
、Train.dataset.data_dir
、Train.dataset.label_file_list
、Eval.dataset.data_dir
、Eval.dataset.label_file_list
这几个必要的参数,其余均保持从models_list下载时的默认参数。控制台关键信息
训练命令:
python .\tools\train.py -c G:\work\ai\ocr\paddleocr\models\train\en_PP-OCRv4_rec.yml
简单分析,
total_time
在代码的for循环中可能会出现从未被设置的情况,导致ZeroDivisionError。🏃♂️ Environment (运行环境)
🌰 Minimal Reproducible Example (最小可复现问题的Demo)
因为没有对代码有改动,这里摘抄一下出现这个问题相关区域的代码。