首页 > 解决方案 > TensorFlow 和 TF-Lite 的输出差异

问题描述

我有一个tensorflow模型,我转换为tensorflow-lite. 但是,推理精度存在偏差。这是正常行为吗?

我发现这两个模型之间的推理输出在小数点后第四位是不同的。

标签: tensorflowfloating-pointprecisiontensorflow-lite

解决方案


在 TensorFlow 中训练时,

  • 所有变量和常量都可能在 dtype=float64 中。这些数字在小数位方面更大。

  • 因为,它们是训练变量,所以值不是恒定的。

转换为 TensorFlow lite 后,

  • 训练变量被转换为常量操作它们的值是固定的

  • 当我们在 Android 或 iOS 上运行 lite 模型时,这些值将转换为 float32。

因此,TensorFlow Lite 中的精度会丢失。


推荐阅读