为什么量化TensorFlow Lite模型在延迟方面表现不佳?

2024-04-20 11:00:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在测试使用TensorFlow Lite转换的U-Net网络的推断延迟。我正在一个细分问题上测试三个具有相同体系结构的NN(我正在使用Windows操作系统的笔记本电脑上测试它们):

  1. 第一个模型:TensorFlow模型(无优化,使用Keras接口创建)
  2. 第二个模型:使用TFLite优化的TensorFlow模型(使用Python TFLite api进行转换,无需量化)。它实际上是第一个被转换的模型
  3. 第三个模型:TensorFlow模型使用TFLite优化并量化(使用Python TFLite api转换并使用TensorFlow.lite.Optimize.DEFAULT量化)。它实际上是第一个被转换的模型

事实上,第二个模型(使用TFLite优化)将第一个模型(正常TF模型)的时间性能提高了3倍(快三倍)。然而,第三种模型(TFLite&;quantization)在时间方面的性能最差。它甚至比第一个模型(正常TF模型)还要慢

为什么量化模型是最慢的


Tags: 模型网络apinetwindows体系结构tftensorflow
1条回答
网友
1楼 · 发布于 2024-04-20 11:00:49

这取决于模型运行的内核

通常,TFLite更适合在移动设备上运行。因此,在您的情况下,quantized+desktop可能正在使用一些op的参考实现

进一步检查的一种方法是使用 enable_op_profiling=true运行benchmark tool

它将使用虚拟数据运行您的模型并分析ops,然后像this一样向您显示摘要

如果您看到了一些问题,那么您可以提交一个github issue文件,其中包含详细信息以及如何重现问题,团队可以调试性能问题

相关问题 更多 >