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.89k stars 1.6k forks source link

PPOCRv3 识别模型开启动态shape推理时报错 #10398

Open marsbzp opened 9 months ago

marsbzp commented 9 months ago

std::map<std::string, std::vector<std::vector>> dynamic_shape_info; dynamic_shape_info["x"] = {{1,3,48,320}, {2,3,48,320},{1,3,48,640},{2,3,48,640}}; mobileConfig.set_nnadapter_dynamic_shape_info(dynamic_shape_info);

#####################################报错信息####################################### [I 9/20 20:30:55.932 ...r/src/driver/huawei_ascend_npu/engine.cc:36 Context] properties: HUAWEI_ASCEND_NPU_SELECTED_DEVICE_IDS=0 [I 9/20 20:30:55.932 ...r/src/driver/huawei_ascend_npu/engine.cc:61 Context] selected device ids: [I 9/20 20:30:55.932 ...r/src/driver/huawei_ascend_npu/engine.cc:63 Context] 0 [I 9/20 20:30:55.932 ...r/src/driver/huawei_ascend_npu/engine.cc:73 Context] profiling path: [I 9/20 20:30:55.932 ...r/src/driver/huawei_ascend_npu/engine.cc:83 Context] dump model path: [I 9/20 20:30:55.932 ...r/src/driver/huawei_ascend_npu/engine.cc:93 Context] precision mode: [I 9/20 20:30:55.932 ...r/src/driver/huawei_ascend_npu/engine.cc:115 Context] op select impl mode: [I 9/20 20:30:55.932 ...r/src/driver/huawei_ascend_npu/engine.cc:125 Context] op type list for impl mode: [I 9/20 20:30:55.932 ...r/src/driver/huawei_ascend_npu/engine.cc:135 Context] enable compressw weight: [I 9/20 20:30:55.932 ...r/src/driver/huawei_ascend_npu/engine.cc:145 Context] auto tune mode: [I 9/20 20:30:55.932 ...r/src/driver/huawei_ascend_npu/engine.cc:155 Context] enable dynamic shape range: [I 9/20 20:30:55.932 ...r/src/driver/huawei_ascend_npu/engine.cc:171 Context] initial buffer length of dynamic shape range: -1 [W 9/20 20:30:55.932 ...ter/nnadapter/src/runtime/compilation.cc:332 Finish] Warning: Failed to create a program, No model and cache is provided. [W 9/20 20:30:55.932 ...le-Lite/lite/kernels/nnadapter/engine.cc:149 LoadFromCache] Warning: Build model failed(3) ! [W 9/20 20:30:55.935 ...kernels/nnadapter/converter/converter.cc:551 AddOperand] Operand 'transpose_1.tmp_0_slice_0' already exists! [W 9/20 20:30:55.935 ...kernels/nnadapter/converter/converter.cc:551 AddOperand] Operand 'transpose_1.tmp_0_slice_1' already exists! [W 9/20 20:30:55.935 ...kernels/nnadapter/converter/converter.cc:551 AddOperand] Operand 'transpose_1.tmp_0_slice_2' already exists! [I 9/20 20:30:55.935 ...r/nnadapter/src/operation/elementwise.cc:57 operator()] Cannot broadcast input0: 120, input1: 0 [I 9/20 20:30:55.935 ...r/nnadapter/src/operation/elementwise.cc:57 operator()] Cannot broadcast input0: 40, input1: -65535 [I 9/20 20:30:55.935 ...r/nnadapter/src/operation/elementwise.cc:57 operator()] Cannot broadcast input0: 120, input1: 0 [I 9/20 20:30:55.935 ...r/nnadapter/src/operation/elementwise.cc:57 operator()] Cannot broadcast input0: 40, input1: -65535 [I 9/20 20:30:55.935 ...r/nnadapter/src/operation/elementwise.cc:57 operator()] Cannot broadcast input0: 120, input1: 0 [I 9/20 20:30:55.935 ...r/nnadapter/src/operation/elementwise.cc:57 operator()] Cannot broadcast input0: 80, input1: -65535 [I 9/20 20:30:55.935 ...r/nnadapter/src/operation/elementwise.cc:57 operator()] Cannot broadcast input0: 120, input1: 0 [I 9/20 20:30:55.935 ...r/nnadapter/src/operation/elementwise.cc:57 operator()] Cannot broadcast input0: 80, input1: -65535 [W 9/20 20:30:55.936 ...kernels/nnadapter/converter/converter.cc:551 AddOperand] Operand 'transpose_4.tmp_0_slice_1' already exists! [W 9/20 20:30:55.936 ...kernels/nnadapter/converter/converter.cc:551 AddOperand] Operand 'transpose_4.tmp_0_slice_0' already exists! [W 9/20 20:30:55.936 ...kernels/nnadapter/converter/converter.cc:551 AddOperand] Operand 'transpose_4.tmp_0_slice_2' already exists! [I 9/20 20:30:55.936 ...r/nnadapter/src/operation/elementwise.cc:57 operator()] Cannot broadcast input0: 0, input1: -65535 [I 9/20 20:30:55.936 ...r/nnadapter/src/operation/elementwise.cc:57 operator()] Cannot broadcast input0: 0, input1: -65535 [I 9/20 20:30:55.936 ...r/nnadapter/src/operation/elementwise.cc:57 operator()] Cannot broadcast input0: 0, input1: -65535 [I 9/20 20:30:55.936 ...r/nnadapter/src/operation/elementwise.cc:57 operator()] Cannot broadcast input0: 0, input1: -65535 [W 9/20 20:30:55.937 ...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 9/20 20:30:55.937 ...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 9/20 20:30:55.937 ...r/src/driver/huawei_ascend_npu/driver.cc:70 CreateProgram] Create program for huawei_ascend_npu. [F 9/20 20:30:56.141 .../src/driver/huawei_ascend_npu/utility.cc:307 BuildOMModelToBuffer] Check failed: (reinterpret_cast(aclgrphBuildModel(ir_graph, options, om_buffer)) == ge::GRAPH_SUCCESS): 1343242270!==0 1343242270 Unknown ATC error code(1343242270) [F 9/20 20:30:56.141 .../src/driver/huawei_ascend_npu/utility.cc:307 BuildOMModelToBuffer] Check failed: (reinterpret_cast(aclgrphBuildModel(ir_graph, options, om_buffer)) == ge::GRAPH_SUCCESS): 1343242270!==0 1343242270 Unknown ATC error code(1343242270)

[F 9/20 20:31:11.246 ...ter/nnadapter/src/runtime/compilation.cc:98 ~Program] Check failed: device_context: No device found. [F 9/20 20:31:11.246 ...ter/nnadapter/src/runtime/compilation.cc:98 ~Program] Check failed: device_context: No device found.

terminate called after throwing an instance of 'nnadapter::logging::Exception' what(): NNAdapter C++ Exception: [F 9/20 20:31:11.246 ...ter/nnadapter/src/runtime/compilation.cc:98 ~Program] Check failed: device_context: No device found.

jyz608 commented 6 months ago

解决了吗?

hong19860320 commented 4 months ago

首先请参考文档 https://www.paddlepaddle.org.cn/lite/v2.12/demo_guides/huawei_ascend_npu.html ,跑通文档提供的 demo,确保环境是 OK 的,然后再跑通固定长度的 ppOCRv3 模型,最后再参考 https://www.paddlepaddle.org.cn/lite/v2.12/demo_guides/huawei_ascend_npu.html 文档的『高级特性』章节,进行动态 shape 的调试。