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)
https://paddlepaddle.github.io/PaddleOCR/
Apache License 2.0
43.9k stars 7.8k forks source link

用crnn 训练360万左右的合成汉字,精度一直为0,loss一直不下降 #503

Closed xuyuhui666 closed 4 years ago

xuyuhui666 commented 4 years ago

497

2020-08-07 19-52-55 不知道是为什么

xuyuhui666 commented 4 years ago

2020-08-07 20-36-22 加载的是ch_rec_mv3_crnn预训练模型,但有好几层网络都没有加载,是不是模型加载错了,配置文件是用的 rec_mv3_none_bilstm_ctc.yml,需要训练带空格的

xuyuhui666 commented 4 years ago

用rec_chinese_lite_train.yml配置文件和对应的ch_rec_mv3_crnn预训练模型也试过, epoch在1100,iters在110000左右,但准确率一直为0,loss一直在9500震荡

在不加载预训练模型情况下,从头开始训,情况也是这样,loss 震荡,准确率一直为0 学习率设成0.001,0.0005和0.0001这几种都试过

tink2123 commented 4 years ago

如果您需要训练中文带空格的模型,加载的预训练模型应该是ch_rec_mv3_crnn_enhance https://paddleocr.bj.bcebos.com/ch_models/ch_rec_mv3_crnn_enhance.tar

xuyuhui666 commented 4 years ago

在问题406中他用的是rec_chinese_lite_train.yml配置文件训练中文, 给的建议是用ch_rec_mv3_crnn预训练模型,所以我也试了这个预训练 ch_rec_mv3_crnn_enhance这个预训练之前也试过,但忘记是哪个配置文件加载了 很感谢给予回复,但提个小建议: 最好把哪个配置文件对应的预训练模型讲清楚 不然稍微不注意就会加载错误,训练时间也比较长,发现错误周期也就较长

tink2123 commented 4 years ago

好的,感谢反馈,enhance 模型对应的配置文件我们会及时更新列表。其他中文模型的配置文件文档中都有对应说明哈:

图片