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

Viewed 134

问题:

跑网络feature_extract_cf网络,出现对称量化int8相似度很差,如下:image.png

1 Answers

分析过程:

  1. 观察第一个对比异常的地方,是stage1_unit3_bn2_scale,它是一个卷积运算,下一层运算是PRelu。
  2. 分析数值发现top-k的值差异不大,为什么会出现相似度低,需要进一步观察更多的数值,如下:image.png
  3. 发现没有负值,全是正值。这就是疑点。
  4. 观察tpu.mlir文件,发现这个卷积输出类型是u8,观察他的min和max值是-13和6.9:image.png
  5. 所以它不应该是u8。后一层是PRelu是u8,这时候就联想到阈值传导,PRelu会做Backward。
    这时就会发现PRelu之前没有考虑符号的问题,把min也传导回去了,导致卷积变成了u8。
    最后修正Backward接口,避免min的传导,解决该问题,并增加了测试用例