tflite 量化推理非常缓慢

10

我正在尝试将一个训练好的模型从checkpoint文件转换为tflite。我正在使用tf.lite.LiteConverter。浮点数转换速度很快,推理速度也很合理。但是INT8转换的推理速度非常慢。我尝试通过输入一个非常小的网络进行调试。我发现INT8模型的推理速度通常比浮点模型慢。

在INT8 tflite文件中,我发现了一些称为ReadVariableOp的张量,在TensorFlow官方的mobilenet tflite模型中不存在。

我想知道是什么原因导致了INT8推理的缓慢。

2个回答

2

0

这可能有很多原因,以下是一些最常见的原因:

  1. 缺乏INT8指令集架构(ISA)

    例如,在第10代以下的英特尔CPU上,您不会看到与Float32相比的INT8模型提升。这是因为第10代以下的英特尔CPU没有英特尔DLBoost,这是一种专门设计用于提高INT8 DL模型性能的指令集(ISA)架构。这个ISA存在于第10代及以后的英特尔芯片中。如果没有特定的INT8 ISA,那么操作肯定会被升级为Float32。

  2. Float32操作转换为冗长的INT8操作

    一些Float32操作不适合INT8,这导致非常冗长的INT8对应操作。潜在地比原始操作慢得多。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接