tensorflow动态范围量化



动态范围量化的tensorflow文档说明:

在推理时,权重从8位精度转换为浮点数,并使用浮点核进行计算。此转换只执行一次,并缓存以减少延迟。

以及在动态范围量化中,激活值总是存储在浮点32中,但是,它们在处理时转换为8位整数,处理完成后转换为浮点数。

我很困惑,如果权重在推理时间转换为float32,那么量化是如何完成的?

引自https://www.tensorflow.org/lite/performance/post_training_quant

此外,TFLite支持动态量化和去量化激活以允许:

在可用的情况下使用量化内核以更快地实现。浮点核与量子化核的混合图的部分

如果内核有一个支持量化的优化路径,那么浮点数激活将被量化以应用于量化的权重。

否则,激活将保持为float,权重将转换为float进行推理。

最新更新