问题描述
我在 Ubuntu 18.04 机器上训练和量化了一个 Tensorflow 模型,并将其转换为 tflite 格式。然后我将其部署在配备 NPU 加速器 tflite_runtime 和 NNAPI 的 Linux Yocto 板上。我注意到在我的 PC 上使用 cpu 和板上的 NPU+nnapi 进行推理时,相同的 tflite 模型输出不同的预测。预测通常是相似的,但在某些情况下它们完全不同。我尝试禁用板上的 nnapi 并使用 cpu 进行推理,结果与在 PC cpu 上的结果相同。所以我认为问题出在 nnapi 上。但是,我不知道为什么会发生这种情况。有没有办法在训练期间防止它或使网络更健壮?
解决方法
萤火虫,
NNAPI 团队也有兴趣了解更多信息。
可以预期会有微小的变化,但不应出现完全不同的结果。
您在不同的设备上尝试过吗?您看到相同的变化吗?
您提到了 Linux Yocto 构建。您是在 Yocto 上使用 Android 运行测试,还是使用 NNAPI 的 Linux 版本?