模型转换为pytorch的ckpt并加载之后,同样的id 进行embedding的结果不同
Created by: randomtutu
我在自己的数据集上,取得了比较大的提升,因此想要继续修改模型。
因为paddle文档比较少,因此想要把转换成pytorch。
我使用 #37 (closed) 上的脚本,将paddle的ckpt转换为dict,再通过简单的名字对应和tensor的转换,将对应权重加载到pytorch中。
但是加载后做测试,结果相差很多。
为了找到不同的地方,我将两个框架的模型跑同一数据的前向传播,将每一步的数据进行对比。 结果发现,两个框架上同样的embedding权重(weight),对相同id的embedding居然不同。 我暂时没有对比两个框架的实现方法有何异同。
我推测要么是两个框架的embedding实现方法有差别,要么就是这个脚本保存的权重出现了一点问题。
希望有在做同样的事情的同学和我联系,一起交流。