1079863482 / paddle2torch_PPOCRv3

91 stars 8 forks source link

转换en 的模型失败 #3

Open Galaxy-Ding opened 2 years ago

Galaxy-Ding commented 2 years ago

大佬: 你好,我这边下载您的源码,按照代码一步一步实现,中文的模型文件是可以顺利转换成功的。 但是,我一开始想转换的是英文rec的模型,然后英文的模型报到是xxx.transpose(0,1) 失败,我估计是英文rec模型和中文的rec有所区别,然后打开checkpoint,的确很多不同的,英文的rec 模型少了264参数。 看了官方的文档,没说英文和中文的模型是有所区别的。因此想请教下,这个转换的参数,您这边是怎么一步一步,探索过来的?想请教一下这个的转换思路。 目前,就卡在这里了。

image

我尝试过: 想通过对比英文的rec模型和rec模型 的参数区别,但是报错了,报的tuple not callable。

image

image

1079863482 commented 2 years ago

我的思路是构建了torch模型后,分别打印torch和paddle的state模型权重结构做对比,对比两个模型的差异,通常来说两个框架实现都是差不多的,但是有一些算子实现存在差异,如果有层不对应的话,就单独拿出来对比,去看torch和paddle对于这个层实现的源码,一般的paddle的源码大部分是基于torch源码翻新的,当然如果有某些层如果缺失或者多出来,你就需要去探索这些层去掉的话对模型的影响有多大,如果去掉后精度没有很大变化,我就会直接去掉。