nncase编译onnx模型到kmodel输出差距极大

Viewed 229

重现步骤
以下为编译用代码,基本就是官方notebook中的源代码,output.txt中为91张已转化为原模型所期望数组的图片
因为加了代码帖子不知道为什么发不出来,放在云存储上了https://p.sorasakihina.love/nncase1.py
期待结果和实际结果

以下为原模型运行结果
09d5b7605d7715104e68414b13675b88.png
以下为kmodel运行后结果
8b30b20bf6534f17a30421a4304fc450.png
推理来源为同一张图,结果差别极大,完全无法使用
软硬件版本信息

nncase与nncase-kpu 2.9.0

补充材料

https://github.com/Project-Babble/ProjectBabble/tree/main/BabbleApp/Models/3MEFFB0E7MSE/onnx 此为原模型开源地址,如果怀疑模型结构问题可供参考

1 Answers
  • 将转kmodel的target改为cpu转一个cpu的kmodel然后比较一下输出;
  • 确认一下输入数据的预处理是否一致;
  • 先忽略具体数值,对两个输出求一下cosine相似度,看一下相似度如何;

k230为目标的余弦-0.06119477196559306,输入数据完全一样,cpu目标同一代码编译完推理出45个nan。。。

那确实是有问题,我有时间看一下吧

麻烦您了,有任何我没给出但需要复现的资料直接qq找我就行