int8.mlir与top.mlir相似度很低(1)

Viewed 111

问题如图:
image.png

1 Answers

分析过程:

  1. 观察第一个对比异常的地方,是sigmoid_2.tmp_0_Sigmoid。它的int8结果top-K全是0.060234,而参考top-K是0.9632等等值。怀疑是threhsold截断了。
  2. 观察阈值表,这个tensor的阈值是0.918,所以阈值本身没有问题image.png
  3. 观察网络结构,如下。那么阈值应该是被Concat Backward修改了。image.png
  4. 观察Concat的阈值,可以确认确实把Concat的阈值策略修改了,导致Simoid的范围成了0.0602340image.png

解决方法:

  1. 指定Sigmoid的阈值范围为[0,1],不受calibration影响
  2. 当Concat的输入的阈值都相等时,走Forward策略