rknn-toolkit
rknn-toolkit copied to clipboard
MaxPool层输出不合理
问题描述
在部署YOLOv5并校验一致性的时候发现有明显的精度损失。在关闭量化(或者使用INT16量化)的情况下逐层调试,发现是SPP的maxpool层开始出现明显的误差,而且只有当maxpool的kernel size大于7之后才有这个问题
猜测
应该是maxpool层的实现有些问题
复现方式
搭建一个只有maxpool层且kenel size为9或者13的模型进行推理,即可复现这个问题
临时解决方案
导出ONNX模型时将YOLOv5的SPP中kernel size为9和13的替换为级联的kernel size为5的maxpool,从而绕开这个问题。最后测试结果基本没有精度损失
软硬件版本信息
模型转换工具:RKNN Toolkit v1.7.1 硬件平台:RV1126 推理库打印的版本信息:
SDK api version: librknn_runtime version 1.6.0 (6523e7 build: 2021-01-15 15:56:31 base: 1126)
Driver version: 6.4.3.5.293908
希望以上信息可以帮助你们定位并解决问题。
是有问题,暂时用maxpool堆叠实现
1.6.0驱动存在bug,需要更新到1.7.0以上。 建议用1.7.3版本的驱动