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

Python 为什么量化TensorFlow Lite模型在延迟方面表现不佳?,python,tensorflow2.0,tensorflow-lite,Python,Tensorflow2.0,Tensorflow Lite,我目前正在测试使用TensorFlow Lite转换的U-Net网络的推断延迟。我正在一个细分问题上测试三个具有相同体系结构的NN(我正在使用Windows操作系统的笔记本电脑上测试它们): 第一个模型:TensorFlow模型(无优化,使用Keras接口创建) 第二个模型:使用TFLite优化的TensorFlow模型(使用Python TFLite api进行转换,无需量化)。它实际上是第一个被转换的模型 第三个模型:TensorFlow模型使用TFLite优化并量化(使用Python TF

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

  • 第一个模型:TensorFlow模型(无优化,使用Keras接口创建)
  • 第二个模型:使用TFLite优化的TensorFlow模型(使用Python TFLite api进行转换,无需量化)。它实际上是第一个被转换的模型
  • 第三个模型:TensorFlow模型使用TFLite优化并量化(使用Python TFLite api转换并使用TensorFlow.lite.Optimize.DEFAULT量化)。它实际上是第一个被转换的模型
  • 事实上,第二个模型(使用TFLite优化)将第一个模型(正常TF模型)的时间性能提高了3倍(快三倍)。然而,第三种模型(TFLite&quantization)在时间方面的性能最差。它甚至比第一个模型(正常TF模型)还要慢


    为什么量化模型最慢?

    这取决于模型运行的内核

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

    进一步检查的一种方法是使用
    运行--enable\u op\u profiling=true

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


    如果您看到了一些问题,那么您可以提交一份包含详细信息以及如何重现该问题的文件,团队可以调试性能问题。

    您是否注意到在推断每个模型时使用的实际硬件?它只使用CPU