高通SNPE框架简介

时间:2024-04-13 14:09:40

Purpose

本文档提供了SnapdragonTM神经处理引擎(SNPE)软件开发工具包(SDK)用户指南和API参考指南。

Capabilities

Snapdragon神经处理引擎(SNPE)是用于执行深度神经网络的Qualcomm Snapdragon软件加速运行时。 使用SNPE,用户可以:

  • 执行任意深度的神经网络
  • 在SnapdragonTM CPU,AdrenoTM GPU或HexagonTM DSP上执行网络。
  • 在x86 Ubuntu Linux上调试网络执行
  • 将Caffe,Caffe2,ONNXTM和TensorFlowTM模型转换为SNPE深度学习容器(DLC)文件
  • 将DLC文件量化为8位定点,以便在Hexagon DSP上运行
  • 使用SNPE工具调试和分析网络性能
  • 通过C ++或Java将网络集成到应用程序和其他代码中

Model Workflow

 

 高通SNPE框架简介

 

模型训练在流行的深度学习框架上进行(SNPE支持Caffe,Caffe2,ONNX和TensorFlow模型。)训练完成后,训练的模型将转换为可加载到SNPE运行时的DLC文件。 然后,可以使用此DLC文件使用其中一个Snapdragon加速计算核心执行前向推断传递。

基本的SNPE工作流程只包含几个步骤:

  1. 将网络模型转换为可由SNPE加载的DLC文件。
  2. 可选择量化DLC文件以在Hexagon DSP上运行。
  3. 准备模型的输入数据。
  4. 使用SNPE运行时加载并执行模型。