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