Paddle-Lite icon indicating copy to clipboard operation
Paddle-Lite copied to clipboard

paddle-lite进行模型推理时候出现quant_scale_count值出错

Open liuxinglau opened this issue 1 year ago • 3 comments

 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值出错应该往哪个方向排查原因?

liuxinglau avatar Oct 26 '23 07:10 liuxinglau

我也遇到的相同的问题

nowbug avatar Nov 01 '23 13:11 nowbug

这个TIM-VX已经很久无人维护了 自求多福

engineer1109 avatar Nov 07 '23 08:11 engineer1109

基于 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)是否有差异。

hong19860320 avatar Feb 21 '24 01:02 hong19860320