3,464
社区成员




SNPE模型在DSP上运行错误:
snpe-onnx-to-dlc -i 1864128974845652992.onnx -o objpackage.dlc
snpe-dlc-quantize --input_dlc objpackage.dlc --output_dlc objpackage_quantize.dlc --input_list ./input.txt
snpe-dlc-graph-prepare --input_dlc ./objpackage_quantize.dlc --output_dlc ./objpackage_quantize_cached.dlc --htp_archs=v68 --set_output_tensors=" cls_score_8,cls_score_16,cls_score_32,bbox_pred_8,bbox_pred_16,bbox_pred_32,objectness_8,objectness_16,objectness_32"
这样转换出来的模型, 在CPU和GPU上都能正常运行, 但是在DSP上无法正常的工作, log如下:
INFO : Using SNPE: 2.13.0.230725130242_60412
/prj/qct/webtech_hyd/pcgbait/projects/zsnpe_waipio/avante-tools/prebuilt/dsp/hexagon-sdk-4.2.0/ipc/fastrpc/rpcmem/src/rpcmem_android.c:38:dummy call to rpcmem_init, rpcmem APIs will be used from libxdsprpc
ERROR: SNPE build failed: error_code=401; error_message=Network creation has failed. error_code=401; error_message=Network creation has failed. QnnGraph_create() Failed: 4000; error_component=Dl Network; line_no=2090; thread_id=548380818000; error_component=Dl Network; line_no=273; thread_id=548398977040
main: /home/tc-eb3/package/yolox/yolox.h:23: bool YOLOX::Initialize(std::vector<std::__cxx11::basic_string<char> >&, std::vector<std::__cxx11::basic_string<char> >&, std::vector<std::__cxx11::basic_string<char> >&, std::string, runtime_t): Assertion `m_task->init(model_path, runtime)' failed.
Aborted
请仔细检查这个命令, 你在指定output tensor的时候, 多了一个空格, 把cls_score_8前的空格去掉并且再进行prepare的操作, 应该可以正常的工作了.
snpe-dlc-graph-prepare --input_dlc ./objpackage_quantize.dlc --output_dlc ./objpackage_quantize_cached.dlc --htp_archs=v68 --set_output_tensors=" cls_score_8,cls_score_16,cls_score_32,bbox_pred_8,bbox_pred_16,bbox_pred_32,objectness_8,objectness_16,objectness_32"