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

V4 OCR的检测模型,导出为atlas格式后,无法跑在atlas 300ipro上 #10502

Open TinyQi opened 2 months ago

TinyQi commented 2 months ago

我现在尝试使用C++,在atlas 300Ipro 上推理PaddleOCR的模型。但是在推理的时候遇到了问题。

问题一:当我直接将paddle_inference的模型导出成nb模型,可以正常推理,但是OCR 的V4的检测模型的结果为空 问题二:为了解决问题一,我猜测是不是因为V4的模型的输出有2个输出,为此我进一步验证,我去除了V4模型的其中一个无用的输出之后,再重新导出nb模型,此时运行后会崩溃。崩溃时的打印如下:

[I 4/22 20: 0:17.455 ...r/src/driver/huawei_ascend_npu/engine.cc:41 Context] properties: HUAWEI_ASCEND_NPU_SELECTED_DEVICE_IDS=0 [I 4/22 20: 0:17.455 ...r/src/driver/huawei_ascend_npu/engine.cc:66 Context] selected device ids: [I 4/22 20: 0:17.455 ...r/src/driver/huawei_ascend_npu/engine.cc:68 Context] 0 [I 4/22 20: 0:17.455 ...r/src/driver/huawei_ascend_npu/engine.cc:78 Context] profiling path: [I 4/22 20: 0:17.455 ...r/src/driver/huawei_ascend_npu/engine.cc:88 Context] dump model path: [I 4/22 20: 0:17.455 ...r/src/driver/huawei_ascend_npu/engine.cc:98 Context] precision mode: [I 4/22 20: 0:17.455 ...r/src/driver/huawei_ascend_npu/engine.cc:120 Context] op select impl mode: [I 4/22 20: 0:17.455 ...r/src/driver/huawei_ascend_npu/engine.cc:130 Context] op type list for impl mode: [I 4/22 20: 0:17.455 ...r/src/driver/huawei_ascend_npu/engine.cc:140 Context] enable compressw weight: [I 4/22 20: 0:17.455 ...r/src/driver/huawei_ascend_npu/engine.cc:150 Context] auto tune mode: [I 4/22 20: 0:17.455 ...r/src/driver/huawei_ascend_npu/engine.cc:160 Context] enable dynamic shape range: [I 4/22 20: 0:17.455 ...r/src/driver/huawei_ascend_npu/engine.cc:176 Context] initial buffer length of dynamic shape range: -1 [1 4/22 20: 0:17.455 ...le-Lite/lite/kernels/nnadapter/engine.cc:355 Run] Warning: No suitable program found for current input shapes, try generating a new program online. [I 4/22 20: 0:17.463 ...ter/nnadapter/src/runtime/compilation.cc:128 Compilation] Read the cache file 19.LocationCharacterRec/Algorithm//libs//..//module/finetune_20231207/ch_PP-OCRv4_server_det_1_output/Ascend310P3/7ca55bdcee959f1a448607b358dce34f.nnc success. [I 4/22 20: 0:17.581 ...nnadapter/nnadapter/src/utility/cache.cc:151 Deserialize] crc32c mismatch, expected 2851221016 but recevied 9686439. [W 4/22 20: 0:17.583 ...ter/nnadapter/src/runtime/compilation.cc:334 Finish] Warning: Failed to create a program, No model and cache is provided. [W 4/22 20: 0:17.583 ...le-Lite/lite/kernels/nnadapter/engine.cc:149 LoadFromCache] Warning: Build model failed(3) ! [W 4/22 20: 0:17.597 ...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 4/22 20: 0:17.597 ...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 4/22 20: 0:17.597 ...r/src/driver/huawei_ascend_npu/driver.cc:70 CreateProgram] Create program for huawei_ascend_npu. [EVENT] GE(152305,time_test):2024-04-22-20:00:17.861.420 [graph_var_manager.cc:1425]153399 SetAllMemoryMaxValue:The graph_mem_max_size is 27917287424 and the var_mem_max_size is 5368709120 [EVENT] GE(152305,time_test):2024-04-22-20:00:17.861.936 [graph_manager.cc:1194]153399 PreRun:PreRun start: graph node size 524, session id 0, graph id 0, graph name graph. [EVENT] TDT(152305,time_test):2024-04-22-20:00:17.862.371 [client_manager.cpp:157][SetProfilingCallback][tid:153399] [TsdClient] set profiling callback success [F 4/22 20: 0:17.863 .../src/driver/huawei_ascend_npu/utility.cc:315 BuildOMModelToBuffer] Check failed: (reinterpret_cast(aclgrphBuildModel(ir_graph, options, om_buffer)) == ge::GRAPH_SUCCESS): 1343266818!==0 1343266818 Unknown ATC error code(1343266818) terminate called after throwing an instance of 'nnadapter::logging::Exception' what(): NNAdapter C++ Exception: [F 4/22 20: 0:17.863 .../src/driver/huawei_ascend_npu/utility.cc:315 BuildOMModelToBuffer] Check failed: (reinterpret_cast(aclgrphBuildModel(ir_graph, options, om_buffer)) == ge::GRAPH_SUCCESS): 1343266818!==0 1343266818 Unknown ATC error code(1343266818)

zhupengyang commented 2 months ago