1,101
社区成员
我们使用snpe工具转化完模型后, 发现运行时选择CPU,能正常推理,但是运行时选择GPU时,会在下图中74行报错,错误信息写在最后一行。
我现在的问题是:
1. 遇到这个CPU可以跑,GPU不能跑,一般是什么原因导致的?
2. 下图中56行,如果add多个运行时,比如 .add(CPU), .add(GPU32), 它的工作原理时什么, snpe会智能选择最优的device去做推理么?
err: error_code=401; error_message=Network creation has failed. error_code=401; error_message=Network creation has failed. QnnGraph_finalize failed: 6022; error_component=Dl Network; line_no=2299; thread_id=514216729856; error_component=Dl Network; line_no=278; thread_id=517320324344
[E] /Users/cc/cmuyuan/projects/weight/muvaiot-weight-gualcomm/main/keypoint/keypoint-test.in.cc:067,| Error, keypgint module load failed
我们可以从log中分析出来是当前的SNPE GPU runtime不支持TransformerEncoderLayer。一个是通过snpe UDO机制去重写该算子; 另一个方法是采用高通支持姿态模型。具体可以看下https://github.com/quic/ai-hub-models