3,447
社区成员




WoS平台可以使用微软的onnxruntime进行模型推理吗?能通过SNPE或QNN SDK使用NPU进行加速吗?
WoS平台是可以使用微软的onnxruntime来进行模型推理的,并且onnxruntime提供了C/C和python接口。通常情况下,使用onnxruntime进行的模型推理是在CPU上进行的。目前,onnxruntime不支持通过SNPE SDK使用底层硬件(通常为DSP/NPU等)进行加速,但支持通过QNN SDK使用底层硬件进行加速。
onnxruntime中有一个抽象模块(亦可称之为抽象层)叫ExecutionProvider,硬件平台要想加速模型的推理,就需要在硬件平台对应的Runtime SDK的基础上实现对应的ExecutionProvider。onnxruntime本身已在高通的QNN SDK的基础上实现了QNNExecutionProvider,通过它模型的推理就可以在相关的硬件上进行加速。
集成有QNNExecutionProvider的onnxruntime库既可以直接从官方网上下载——进入微软网站(ORT-Nightly - Azure Artifacts (visualstudio.com)并搜索关键字Microsoft.ML.OnnxRuntime.QNN,点击其进入下载页面下载即可,注意它是个NuGet包需要安装,并且其已经携带了相应版本的QNN SDK的库文件;另外,也可以自己下载onnxruntiem源码,并使用本机上已经安装了的QNN SDK进行编译,包括C/C++动态库的编译及相应python接口的编译。