2389684_zh-CN

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2389684_zh-CN

2389684_zh-CN

为什么NPU tflite模型和tflite模型的结果不同?

我有一个量化分类模型。我使用命令将其转换为 NPU tflite 模型

./neutron-converter \
--输入 QAT.tflite \
--输出 QAT_NPU.tflite \
--target imxrt700 \
--dump-header-file-output \
--dump-header-file-input \
--使用序列器

之后,我使用了 2 个生成的模型头文件,分别用于 NPU 和 CPU。

我使用了针对我们模型修改过的示例 tflm_cifar10_cm33_core0。我使用了示例 image_data.h(已将图像调整大小以适应模型输入尺寸)。但是两个模型(在 CPU 和 NPU 模式下)的最终结果却不同:

- 在大多数情况下,预测的类别相同,概率也相似(数值不完全匹配)。

- 在某些情况下,两种模式下的预测类别不同 ==>您对此问题有什么看法?抱歉,我无法分享我的模型。

Re: Why results from NPU tflite model and tflite model are different?

我尝试使用示例tflm_cifar10_cm33_core0来验证这个问题。但在这个示例中,只有 NPU tflite 模型,我没有看到另一个(CPU tflite 模型)。我想用不同的图像比较预测结果,看看这个问题是否也出现在 NXP 预训练的模型中。

如果您有 CPU tflite 型号(对应 NPU tflite 型号tflm_cifar10_cm33_core0),请与我分享。

我很好奇从 tflite 模型转换为 NPU tflite 模型是否会导致推理结果的差异。

谢谢!

Re: Why results from NPU tflite model and tflite model are different?

@mayliu1你好,请问你能帮我解决这个问题吗?

抱歉,我觉得 NXP 在 i.MX RT 的支持者人数较少,所以有时会错过一些问题。之前我用过 MIMXRT1060 和 N947,响应速度非常快。

Re: Why results from NPU tflite model and tflite model are different?

@nnxxpp

预计在模型转换过程之后,输出值会略有不同,这是因为 Neutron Converter 将模型重组为 NeutronGraph 节点以进行 NPU 执行,而不是像在基于 CPU 的 TFLM 上那样按运算符执行原始图。

也就是说,如果输出结果差异过大,导致预测错误类别的情况过多,则需要检查以下事项:运行时使用的 Neutron 转换器版本和 Neutron 库版本,以确保软件匹配;NPU 使用的内存配置;以及检查转换后的节点,以确保整个模型都已正确转换,而不是仅部分转换。

BR,
埃德温。

Re: Why results from NPU tflite model and tflite model are different?

@nnxxpp

感谢您分享反馈意见。

您的案件目前由我的同事埃德温负责跟进,他正在积极处理。调查仍在进行中,敬请您耐心等待。埃德温将继续跟进此事,并随时向您通报进展情况。

感谢您的理解。

顺祝商祺!

5月

Re: Why results from NPU tflite model and tflite model are different?

@mayliu1

哦,听到你这么说我非常高兴。非常感谢您的支持。我会等你带来好消息。

Re: Why results from NPU tflite model and tflite model are different?

@EdwinHz

非常感谢您的支持。

是的。我知道这是预期之内的,所以在这种情况下,我需要评估板载 NPU tflite(不是 tflite 模型)以了解确切的性能。谢谢。

Tags (1)
No ratings
Version history
Last update:
yesterday
Updated by: