frotms / PaddleOCR2Pytorch

PaddleOCR inference in PyTorch. Converted from [PaddleOCR](https://github.com/PaddlePaddle/PaddleOCR)
Apache License 2.0
809 stars 159 forks source link

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

Open ChaoII opened 2 years ago

ChaoII commented 2 years ago
背景:

自己训练了个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. 模型在推理过程中精度较低,大部分推理错误,有少部分正确。 请问一下,这个和调整这些报错的参数有关系么?谢谢,该如何解决转换后精度低的问题
frotms commented 2 years ago

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

ChaoII commented 2 years ago

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

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

frotms commented 2 years ago

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

ChaoII commented 2 years ago

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

frotms commented 2 years ago

@ChaoII 问题解决了吗??邮箱是:42894130@qq.com

ChaoII commented 2 years ago

@ChaoII 问题解决了吗??邮箱是:42894130@qq.com

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

frotms commented 2 years ago

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

ChaoII commented 2 years ago

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

frotms commented 2 years ago

加个qq聊一下?