3,303
社区成员




我用snpe-dlc-viwer查看一个量化后的模型,发现这个模型的output encoding最小是0,最大是255。这个模型量化前的输入应该归一化到[-1,1]之间,是量化改变了输入节点的范围吗?对于这个量化后的模型,我是不是应该使用int型的输入而不是float型的输入?
如果您量化前的模型输入范围在[-1,1]之间,而量化后的output encoding在[0,255]之间,我认为这是量化错误。output encoding记录的是您所有量化数据中输入数据出现的最大值和最小值,而您量化数据的前处理应该和您未量化模型输入的前处理对齐。您应该检查您的量化数据集,对齐前处理(特别的,您应该将您量化数据集也归一化到[-1,1])后重新量化。量化后的模型也可以(或者是应该)使用float输入,量化/反量化的过程是snpe自动完成的,不论是userbuffer还是itensor,您只需要对齐前处理即可。