huhu1008
(huhu1008)
1
用户您好,请详细描述您所遇到的问题:
-
系统软件版本:J5 OpenExplorer V1.1.68
-
问题涉及的技术领域:模型转换
-
问题描述:J5平台上进行yolov8m模型转换,正常生成original.onnx、optimized.onnx和quantized.onnx模型,编写推理测试脚本,其中original.onnx和optimized.onnx的推理结果正常且一致,而quantized.onnx推理结果异常,表现为目标框不准,且一个目标上有多个框。附件中包含模型转换配置文件、日志、quantized.onnx测试、后处理脚本以及结果图。
-
复现概率:(必现、高、中、低,并描述大致的概率数值) 已进行的排查措施、分析及结果:
-
修改量化图片,结果仍不对;
-
修改yaml中量化模式,测试了default、mix、kl,结果均不对;
-
修改yaml中预处理的均值和norm类型,结果均不对。
-
提供必要的问题日志: 模型转换日志在附件中。
-
软件上是否有做自定义修改:
test_quantized_model.py-
postprocess.py-
test_config.yaml-
hb_mapper_makertbin.log-
quantized_model_1.jpg
颜值即正义
(颜值即正义)
2
usssss
(usssss)
3
我的ptq量化会生成四个onnx模型,还有一个calibrated_model.onnx,不知道你的为什么没有,如果calibrated_model.onnx推理结果正确的话,你分析中的1 3这两种原因就可以排除了。quantized.onnx与其余三个模型的输入是不一样的,你可以参考https://developer.horizon.cc/forumDetail/173442425216488452这篇文章,主要是数据排布不一样,具体需要看你自己的yaml
配置,我也是刚踩过的坑
huhu1008
(huhu1008)
4
我也生成了calibrated_model.onnx,它的推理结果和quantized.onnx一样,框有偏差,calibrated_model.onnx的测试脚本和original.onnx一样,使用的数据排布是NCHW,而quantized.onnx使用的数据排布是NHWC。所以我确实不知道问题可能出在哪里
usssss
(usssss)
5
calibrated_model.onnx就错的话,那应该是校准数据准备的问题,不是量化问题。你看看这个:https://developer.horizon.cc/forumDetail/118363912788935513。重点mean\_value scale_value检查一下,这里用的含义和平时常用的均值标准差不一样。校准数据准备也要再检查一下
