PaddlePaddle / Paddle-Lite

PaddlePaddle High Performance Deep Learning Inference Engine for Mobile and Edge (飞桨高性能深度学习端侧推理引擎)
https://www.paddlepaddle.org.cn/lite
Apache License 2.0
6.96k stars 1.61k forks source link

在华为A200DK上启用多个模型预测报错 #9902

Closed liuky74 closed 1 year ago

liuky74 commented 1 year ago

CANN版本: 5.1.RC1.alpha005 paddle-lite版本: develop-6f684a78a分支 环境验证: paddle-lite已经能够正确调用A200的npu

问题: 我需要在华为的A200DK上使用pipline启用多个模型, 经过测试能够正常加载两个模型, 其中一个为检测模型ppyoloe_s, 一个为关键点模型HRNET, 但是当我尝试启用第三个模型的时候就会开始报错并且重新加载模型: Warning: Failed to run the execution(2)! [W 1/ 5 1:31:24.308 ...le-Lite/lite/kernels/nnadapter/engine.cc:245 Execute] Warning: Failed to run the execution(2)! [W 1/ 5 1:31:24.309 ...ter/nnadapter/src/runtime/compilation.cc:334 Finish] Warning: Failed to create a program, No model and cache is provided. [W 1/ 5 1:31:24.310 ...le-Lite/lite/kernels/nnadapter/engine.cc:149 LoadFromCache] Warning: Build model failed(3) ! [W 1/ 5 1:31:24.338 ...nnadapter/nnadapter/src/runtime/model.cc:86 GetSupportedOperations] Warning: Failed to get the supported operations for device 'huawei_ascend_npu', because the HAL interface 'validate_program' is not implemented! [W 1/ 5 1:31:24.338 ...kernels/nnadapter/converter/converter.cc:171 Apply] Warning: Failed to get the supported operations for the selected devices, one or more of the selected devices are not supported! [I 1/ 5 1:31:24.339 ...r/src/driver/huawei_ascend_npu/driver.cc:70 CreateProgram] Create program for huawei_ascend_npu. 请问该如何解决?

csy0225 commented 1 year ago

看你提供的log都是warning,应该不是这个问题,你可以查找下log是否有error级别的日志。

liuky74 commented 1 year ago

看你提供的log都是warning,应该不是这个问题,你可以查找下log是否有error级别的日志。

没有ERR级别的报错, 我也查了/var/log/npu/slog也没看到ERR级别的日志, 准确的说代码执行到某个模型的predictor.run()后就会报如上的warning, 然后重新加载模型后继续执行

项目在启动后, 模型能全部正常加载, 只是在前向推导的过程中会时不时执行到某个模型的predictor.run()就报以上warning然后自动重新加载模型继续运行, 并不会报错推出只是会在重新Create program for huawei_ascend_npu时需要等她加载完成.

hong19860320 commented 1 year ago

这些都是 warning,麻烦把完整的 log 导出成文件(例如在命令行后加上 >log.txt 2>&1),然后把存在问题的模型上传上来。

liuky74 commented 1 year ago

这些都是 warning,麻烦把完整的 log 导出成文件(例如在命令行后加上 >log.txt 2>&1),然后把存在问题的模型上传上来。 不用了, 定位到问题了, input batch size必须一致