rockchip-linux / rknn-toolkit

BSD 3-Clause "New" or "Revised" License
808 stars 173 forks source link

yolov5s sigmoid量化结果异常 #402

Closed rzzhangtao closed 11 months ago

rzzhangtao commented 11 months ago

使用rknn toolkit(版本为1.7.5)转换yolov5s模型,使用i8和u8两种量化方式。用accuracy_analysis进行分析,sigmoid层量化结果与浮点结果相差巨大(eculidean_norm=1.000000 cosine_norm=nan),层名为24_Sigmoid_47_out0_nhwc_1_3_80_80_8;这两个量化模型在板端进行推理运行,捞取每层结果发现sigmoid层的输入正常、但输出全是0。

同样的模型,采用i16量化或者不量化(即bf),运行效果与原型基本一致。

综上,我想确认的是,rknn对sigmoid的8bit量化是否存在bug,还是说我使用出错导致这个结果异常?

rzzhangtao commented 11 months ago

附上转换脚本和模型,里面存放了snapshot的结果,可以看到sigmoid层量化异常的信息。若要复现这个过程,执行./run.sh即可。链接为https://github.com/rzzhangtao/rv1126_u8_sigmoid_err