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
44.72k stars 7.86k forks source link

pp-ocr v2模型训练log怎么看 #5135

Closed blackhitomi closed 2 years ago

blackhitomi commented 2 years ago

[2021/12/30 13:13:53] root INFO: epoch: [3/5000], iter: 10300, lr: 0.001000, dila_dbloss_Student_Teacher: 1.176494, dila_dbloss_Student2_Teacher: 1.191454, loss: 7.461492, dml_thrink_maps_0: 0.006421, db_Student_loss_shrink_maps: 1.712553, db_Student_loss_threshold_maps: 0.542548, db_Student_loss_binary_maps: 0.343956, db_Student2_loss_shrink_maps: 1.609398, db_Student2_loss_threshold_maps: 0.555824, db_Student2_loss_binary_maps: 0.322655, reader_cost: 0.00022 s, batch_cost: 0.66801 s, samples: 80, ips: 5.98796 [2021/12/30 13:14:06] root INFO: epoch: [3/5000], iter: 10320, lr: 0.001000, dila_dbloss_Student_Teacher: 1.229330, dila_dbloss_Student2_Teacher: 1.363119, loss: 7.257065, dml_thrink_maps_0: 0.005838, db_Student_loss_shrink_maps: 1.576608, db_Student_loss_threshold_maps: 0.525624, db_Student_loss_binary_maps: 0.318528, db_Student2_loss_shrink_maps: 1.522676, db_Student2_loss_threshold_maps: 0.503108, db_Student2_loss_binary_maps: 0.330734, reader_cost: 0.00235 s, batch_cost: 0.66514 s, samples: 80, ips: 6.01376 [2021/12/30 13:14:19] root INFO: epoch: [3/5000], iter: 10340, lr: 0.001000, dila_dbloss_Student_Teacher: 0.932408, dila_dbloss_Student2_Teacher: 0.929796, loss: 7.221427, dml_thrink_maps_0: 0.005667, db_Student_loss_shrink_maps: 1.677689, db_Student_loss_threshold_maps: 0.529175, db_Student_loss_binary_maps: 0.335672, db_Student2_loss_shrink_maps: 1.632276, db_Student2_loss_threshold_maps: 0.554355, db_Student2_loss_binary_maps: 0.326200, reader_cost: 0.00353 s, batch_cost: 0.66862 s, samples: 80, ips: 5.98245

请问新版本的v2模型,训练的loss应该看哪个?不太明白,还请大佬赐教!

blackhitomi commented 2 years ago

还有一般训练到多少比较好

LDOUBLEV commented 2 years ago

loss包含三个部分,2个Student模型的loss,以及Teacher和student之间的loss: Student 模型loss:

db_Student_loss_shrink_maps: 1.677689, db_Student_loss_threshold_maps: 0.529175, db_Student_loss_binary_maps: 0.335672,

最终保存的模型是Student的最高精度模型

Student2 模型loss:

db_Student2_loss_shrink_maps: 1.632276, db_Student2_loss_threshold_maps: 0.554355, db_Student2_loss_binary_maps: 0.326200

Teacher和Student之间的Loss

dila_dbloss_Student_Teacher: 0.932408, dila_dbloss_Student2_Teacher: 0.929796, loss: 7.221427,

训练的总loss一直在下降即可,建议通过观察模型评估精度来看模型的训练情况

blackhitomi commented 2 years ago

loss包含三个部分,2个Student模型的loss,以及Teacher和student之间的loss: Student 模型loss:

db_Student_loss_shrink_maps: 1.677689, db_Student_loss_threshold_maps: 0.529175, db_Student_loss_binary_maps: 0.335672,

最终保存的模型是Student的最高精度模型

Student2 模型loss:

db_Student2_loss_shrink_maps: 1.632276, db_Student2_loss_threshold_maps: 0.554355, db_Student2_loss_binary_maps: 0.326200

Teacher和Student之间的Loss

dila_dbloss_Student_Teacher: 0.932408, dila_dbloss_Student2_Teacher: 0.929796, loss: 7.221427,

训练的总loss一直在下降即可,建议通过观察模型评估精度来看模型的训练情况

感谢解答!!

blackhitomi commented 2 years ago

loss包含三个部分,2个Student模型的loss,以及Teacher和student之间的loss: Student 模型loss:

db_Student_loss_shrink_maps: 1.677689, db_Student_loss_threshold_maps: 0.529175, db_Student_loss_binary_maps: 0.335672,

最终保存的模型是Student的最高精度模型

Student2 模型loss:

db_Student2_loss_shrink_maps: 1.632276, db_Student2_loss_threshold_maps: 0.554355, db_Student2_loss_binary_maps: 0.326200

Teacher和Student之间的Loss

dila_dbloss_Student_Teacher: 0.932408, dila_dbloss_Student2_Teacher: 0.929796, loss: 7.221427,

训练的总loss一直在下降即可,建议通过观察模型评估精度来看模型的训练情况

方便给一下这几个loss的具体含义,和可以用使用时的一般参考值/范围吗?十分感谢~

LDOUBLEV commented 2 years ago

Student的loss就是DB用的loss

teacher和Student之间的loss 用的是diceloss

可以参考训练配置中的参数介绍:https://github.com/PaddlePaddle/PaddleOCR/blob/release%2F2.4/doc/doc_ch/knowledge_distillation.md#212-%E6%8D%9F%E5%A4%B1%E5%87%BD%E6%95%B0-1

paddle-bot-old[bot] commented 2 years ago

Since you haven\'t replied for more than 3 months, we have closed this issue/pr. If the problem is not solved or there is a follow-up one, please reopen it at any time and we will continue to follow up. It is recommended to pull and try the latest code first. 由于您超过三个月未回复,我们将关闭这个issue/pr。 若问题未解决或有后续问题,请随时重新打开(建议先拉取最新代码进行尝试),我们会继续跟进。