Closed Nusselder9 closed 1 year ago
我好像找到了答案passive operation fusion
For passive operation fusion, PPQ will keep the input and the output variable share a same scale for passive operations.
我的问题只剩下:为什么tensorrt官方提供的calibration方式,导出的量化表中,这几层的calib是不相同的?
(我理解的ppq之所模拟operation fusion,就是为了和部署后端平台如trt保持一致,但是trt给出的calibration table里这些层的calib值是不同的。这好像和ppq不太一样?)
啊你这个 quant linear 和 dequant linear,它的scale就应该是一样的,跟passive operation fusion没啥关系。 但是你导出的量化表 "input.12": 40.95763882994652, "input.20": 40.95763882994652, "onnx::Mul_144": 40.95763882994652, "onnx::Add_145": 40.95763882994652, "onnx::Concat_146": 40.95763882994652, "input.24": 40.95763882994652, 这些应该是ppq帮你做了fusion。
志佬你好!
我在使用PPQ对带有swish激活的模型进行量化时,发现有几层的scale值完全相等:
为了清楚的展示着几层的位置,我以onnxruntime为目标平台导出的onnx如下图:
我的问题有两个:
我用tensorrt官方提供的calibration方式,导出的量化表中,这几层的calib是不相同的。请问为什么ppq这几层的scale值是相等的?