用户您好,请详细描述您所遇到的问题:无法测试量化生成的ONNX模型。在文末的链接中包含测试用的代码和ONNX文件,其中ort_test.py使用公版ONNX Runtime进行测试,hb_test1.py使用HB_ONNXRuntime测试转换前的模型,hb_test2.py使用HB_ONNXRuntime测试转换后的original_float模型,这三者的输出结果均正常。在hb_test3.py中试图使用HB_ONNXRuntime测试转换后的量化模型,报错:horizon_nn.horizon_onnxruntime.onnxruntime_pybind11_state.InvalidArgument: [ONNXRuntimeError] : 2 : INVALID_ARGUMENT : Unexpected input data type. Actual: (N11onnxruntime17PrimitiveDataTypeIfEE) , expected: (N11onnxruntime17PrimitiveDataTypeIaEE)
- 系统软件版本: (通过 cat /etc/version 获得)
OS: docker pull openexplorer/ai_toolchain_ubuntu_20_xj3_cpu:v2.5.2,在docker镜像中进行的操作
OE: horizon_xj3_openexplorer_v2.5.2_py38_20230331
- 问题涉及的技术领域: (硬件、操作系统、驱动、其他)
AI工具链
- 问题描述:
无法测试量化生成的ONNX模型。在文末的链接中包含测试用的代码和ONNX文件,其中ort_test.py使用公版ONNX Runtime进行测试,hb_test1.py使用HB_ONNXRuntime测试转换前的模型,hb_test2.py使用HB_ONNXRuntime测试转换后的original_float模型,这三者的输出结果均正常。在hb_test3.py中试图使用HB_ONNXRuntime测试转换后的量化模型,报错:horizon_nn.horizon_onnxruntime.onnxruntime_pybind11_state.InvalidArgument: [ONNXRuntimeError] : 2 : INVALID_ARGUMENT : Unexpected input data type. Actual: (N11onnxruntime17PrimitiveDataTypeIfEE) , expected: (N11onnxruntime17PrimitiveDataTypeIaEE)
见附件图片
-
复现概率:必现
-
已进行的排查措施、分析及结果:
-
硬件问题先排查供电和时钟 不涉及
-
驱动问题先排查外设的供电、复位和时钟 不涉及
-
功能异常,先排查一下是不是运行的代码和demo存在差异,修改不多的情况下直接用对比软件先对比
参考了文章:模型精度验证及调优建议 (horizon.ai)1.1节
也查看了类似的问题:.horizon_onnxruntime.onnxruntime 出错
输入数据类型uint8和float32均尝试过,均无法解决
- 提供必要的问题日志:
- 软件上是否有做自定义修改:有
链接: https://pan.baidu.com/s/1tL7uJ7ZKi-\_Qc1U6mfwLmw 提取码: lj7g
--来自百度网盘超级会员v4的分享