tensorflow - TensorFlow 和 TF-Lite 的输出差异
问题描述
我有一个tensorflow
模型,我转换为tensorflow-lite
. 但是,推理精度存在偏差。这是正常行为吗?
我发现这两个模型之间的推理输出在小数点后第四位是不同的。
解决方案
在 TensorFlow 中训练时,
所有变量和常量都可能在 dtype=float64 中。这些数字在小数位方面更大。
因为,它们是训练变量,所以值不是恒定的。
转换为 TensorFlow lite 后,
训练变量被转换为常量操作它们的值是固定的
当我们在 Android 或 iOS 上运行 lite 模型时,这些值将转换为 float32。
因此,TensorFlow Lite 中的精度会丢失。
推荐阅读
- jupyter-notebook - 如何重新排序 jupyter 笔记本中的单元格?
- android - 在使用 addTextChangeListener 和更新值时遇到问题?
- json - 调用 .NET Web API 时出现 Flurl 反序列化问题
- android - android.os.DeadSystemException 由 GooglePlayServicesUtilLight.getRemoteContext
- python - 如何断言 Pandas 数据框列中的所有值都具有所需的长度
- python - 如何从 csv 文件中删除停用词
- php - 如何在php中以间隔获取两个日期时间戳之间的日期时间范围
- python - 如何通过外键获取数据
- javascript - 返回带有对象的函数时的 React tree-shaking 问题 [Typescript + React + Rollup]
- javascript - TypeError:无法读取未定义的属性“加载”