PaddleOCR2Pytorch icon indicating copy to clipboard operation
PaddleOCR2Pytorch copied to clipboard

模型转换后用pytorch推理精度丢失

Open ChaoII opened this issue 3 years ago • 9 comments

背景:

自己训练了个ppocrv3 rec模型,使用ch_PP-OCRv3_rec.yml 配置文件,训练完成后使用paddleOCR推理精度很高。

问题:
  1. 模型在转换过程中报错:KeyError: Student.backbone.conv1._conv.weight image
  2. 将源码该处修改后,转换最后报错RuntimeError: The size of tensor a (34) must match the size of tensor b (33) at non-singleton dimension 0image 将该处改为33后成功转换模型。<\br>
  3. 模型在推理过程中精度较低,大部分推理错误,有少部分正确。 请问一下,这个和调整这些报错的参数有关系么?谢谢,该如何解决转换后精度低的问题

ChaoII avatar Jun 14 '22 07:06 ChaoII

目前只支持蒸馏的模型。自己训练的模型,需要修改converter的加载权重部分,使得所有有效权重都加载进来

frotms avatar Jun 18 '22 05:06 frotms

目前只支持蒸馏的模型。自己训练的模型,需要修改converter的加载权重部分,使得所有有效权重都加载进来

谢谢,您这边有修改的教程么?想折腾折腾。或者您有没有考虑支持一波 自定义的模型。

ChaoII avatar Jun 18 '22 05:06 ChaoII

可以参考converter,加载权重那部分,目前使用student的权重。可以试试先把训练好的权重文件的key和value.shape打印出来,和网络的state_dict的key和value.shape对比,两者都对了就ok了

frotms avatar Jun 18 '22 05:06 frotms

我后面对比了一下,Shape都对的上,但是计算结果依旧差距较大,请问一下,需要我把模型发给您,调试一下么?如果可以麻烦留一下邮箱谢谢

ChaoII avatar Jun 20 '22 03:06 ChaoII

@ChaoII 问题解决了吗??邮箱是:[email protected]

frotms avatar Jun 22 '22 11:06 frotms

@ChaoII 问题解决了吗??邮箱是:[email protected]

没有额,对这个不是很熟,所以一筹莫展,已经给您发邮件了。谢谢

ChaoII avatar Jun 22 '22 11:06 ChaoII

@ChaoII 回复邮件了。结果应该没问题,测试看下

frotms avatar Jun 26 '22 04:06 frotms

@frotms 你好作者,非常感谢你的回复,但是在测试过程中,和我转的结果一样的,里面有20张图,预测准确的只有一半。尤其是汉字,完全不对,谢谢

ChaoII avatar Jun 26 '22 06:06 ChaoII

加个qq聊一下?

frotms avatar Jun 26 '22 06:06 frotms