反量化结点耗时较长如何优化

我在板上实测模型时,发现在CPU上执行的反量化耗费了较多的时间,请问影响反量化节点速度的因素有哪些,可以如何进行优化呢

您好,相对来说,模型中反量化节点确实是比较耗时的操作,建议您使用hb_model_modifier模型修改工具,

移除模型尾部的反量化节点,可将其合入后处理代码以减少数据遍历的耗时。

请问您的意思是我自己编写反量化的代码吗,有没有相应的教程或者示例代码呢

您好,我刚刚用hb_model_modifier看了一下,显示no nodes available,是否是因为我的模型在输出前经过了concat

反量化节点的实现公式为:deqx = (x - zero_point) * scale

反量化节点的实现代码如下图所示:

目前只能支持删除模型首尾部的量化、反量化节点哈,不支持删除中间的量化、反量化节点。

请问这里的scale是什么意思呀,zero_point是和input_offset一样吗

scale和zero_point都是量化里的通用概念哈。

zero_point和input_offset不是一回事的。

好的谢谢,请问哪里可以找到天工开物工具链的具体量化细节呢,使用的是对称量化吗,以及模型在量化过程中确定的scale在哪里可以找到呢

具体细节可参考手册中:

用的是对称量化,scale以一个量化后的onnx模型为例,使用netron可视化工具打开在这儿可以看到:

好的好的,非常感谢

不客气,加油哈