1介绍
1.1目的
本文档提供了 Snapdragon TM神经处理引擎 (SNPE) 软件开发套件 (SDK) 用户指南和 API 参考指南。
1.2惯例
函数声明、函数名称、类型声明和代码示例以不同的字体显示,例如,#include.
代码变量出现在尖括号中,例如,。
环境变量以 $ 开头,例如 $SNPE_ROOT。
1.3技术援助
如需有关本指南中信息的帮助或说明,请通过https://support.cdmatech.com向 Qualcomm Technologies, Inc. 提交案例 。
如果您无法访问 CDMATech 支持网站,请注册访问或发送电子邮件至 support.cdmatech@qti.qualcomm.com。
2功能概述
2.1 能力
Snapdragon 神经处理引擎 (SNPE) 是用于执行深度神经网络的 Qualcomm Snapdragon 软件加速运行时。使用 SNPE,用户可以:
- 执行任意深度的神经网络
- 在 Snapdragon TM CPU、Adreno TM GPU 或 Hexagon TM DSP上执行网络。
- 在 x86 Ubuntu Linux 上调试网络执行
- 将 Caffe、Caffe2、ONNX TM和 TensorFlow TM模型转换为 SNPE 深度学习容器 (DLC) 文件
- 将 DLC 文件量化为 8 位定点,以便在 Hexagon DSP 上运行
- 使用 SNPE 工具调试和分析网络性能
- 通过 C++ 或 Java 将网络集成到应用程序和其他代码中
2.2 模型工作流程
模型训练是在流行的深度学习框架(Caffe、Caffe2、ONNX 和 TensorFlow 模型受 SNPE 支持)上进行的。训练完成后,经过训练的模型将转换为可以加载到 SNPE 运行时的 DLC 文件。此 DLC 文件随后可用于使用 Snapdragon 加速计算核心之一执行前向推理过程。
基本的 SNPE 工作流程仅包含几个步骤:
- 将网络模型转换为 SNPE 可以加载的 DLC 文件。
- 可选择量化 DLC 文件以在 Hexagon DSP 上运行。
- 为模型准备输入数据。
- 使用 SNPE 运行时加载和执行模型。
支持的骁龙设备
SDK 中包含什么
$SNPE_ROOT 是指安装 SDK 的基本目录。