上图源自Snapdragon Neural Processing Engine SDK Reference Guide,它展示了一个Deep Learning Neural Network在SNPE环境下的Workflow。本repo主要关注Workflow中的第二个阶段,当你拥有一个预训练模型(以yolov5s.onnx
为例),如何从Model Convert到SNPE Enabled App,如官方教程所言,主要有以下四个步骤:
- Model Convert:把
.tf/.tflite/.onnx/caffe/caffe2/.pt
等网络预训练模型转换为一个能够被SNPE加载的DLC文件。 - ModelQuantize:量化模型,以便能在Hexagon DSP上运行(可选项)。
- SNPETask:使用SNPE runtime加载模型并完成推理。
- YOLOv5s:Pre-process(处理输入)和Post-process(处理输出)。
经过这几步之后我们就能够得到一个能够应用于实际工程项目中的推理SDK。
源码链接: