Paddle-Lite
Paddle-Lite copied to clipboard
paddle-lite进行模型推理时候出现quant_scale_count值出错
1)Paddle Lite 版本:2.13 2)Host 环境:Ubuntu 20.04交叉编译paddle-lite源码 后在芯片端侧运行 3)运行设备环境:rv1126芯片端侧运行 4)预测后端信息: CPU/GPU加速器
-
预测信息 1)预测 API:C++ 2)预测选项信息:armv7 单线程
-
问题描述: ppyoloe训练的模型将量化压缩后在rv1126内部以CPU模式可以正常推理并得到结果,但是 以NPU模式加速运行或者 转换为NB模型,都会出现Check failed: (quant_scale_count == 0): 1!==0,程序无法运行下去 出错时候日志如下:
[I 10/10 20:18:17.930 ...r/src/driver/verisilicon_timvx/engine.cc:45 Context] properties: [I 10/10 20:18:17.932 ...r/src/driver/verisilicon_timvx/engine.cc:57 Context] bn_fusion_max_allowed_quant_scale_deviation: -1 [W 10/10 20:18:17.937 ...ter/nnadapter/src/runtime/compilation.cc:334 Finish] Warning: Failed to create a program, No model and cache is provided. [W 10/10 20:18:17.939 ...le-Lite/lite/kernels/nnadapter/engine.cc:149 LoadFromCache] Warning: Build model failed(3) ! [F 10/10 20:18:18. 19 ...e-Lite/lite/kernels/nnadapter/utility.cc:503 ConvertPrecisionTypeToNNPrecisionCode] Check failed: (quant_scale_count == 0): 1!==0 terminate called after throwing an instance of 'paddle::lite::PaddleLiteException' what(): Paddle-Lite C++ Exception: [F 10/10 20:18:18. 19 ...e-Lite/lite/kernels/nnadapter/utility.cc:503 ConvertPrecisionTypeToNNPrecisionCode] Check failed: (quant_scale_count == 0): 1!==0
请问出现quant_scale_count值出错应该往哪个方向排查原因?
我也遇到的相同的问题
这个TIM-VX已经很久无人维护了 自求多福
基于 https://www.paddlepaddle.org.cn/lite/v2.12/demo_guides/verisilicon_timvx.html 文档的 paddlelite-generic-demo 先跑通 mobilenetv1 示例,排除驱动版本等问题,然后再定位 ppyoloe 模型的问题,从你的错误上看,应该是量化模型的问题,大概率是量化信息缺失,你可以将 demo 自带的 mobilenet v1 量化模型和你的 ppyoloe 量化模型拖到 http://netron.app 看下量化信息或算子(quant/dequant)是否有差异。