SNPE(Snapdragon Neural Processing Engine),是高通公司推出的面向移动端和物联网设备的深度学习推理框架。 SNPE提供了一套完整的深度学习推理框架,能够支持多种深度学习模型,包括Caffe、TensorFlow和ONNX等,同时还支持多种模型转换工具,如SNPE模型优化器(SNPE Model Optimizer)和ONNX模型优化器等,能够将模型转换成SNPE可执行格式,提升模型在移动端和物联网设备上的性能和效率。 SNPE还支持多种硬件平台,包括高通骁龙平台、ARM平台、Intel平台等,能够充分利用底层硬件的优势,提升深度学习推理的效率和速度,同时还支持多线程和多异构处理,能够充分发挥多核心和异构计算的优势。 总之,SNPE是一套面向移动端和物联网设备的高效深度学习推理框架,能够支持多种深度学习模型和多种硬件平台,为移动端和物联网设备上的深度学习应用提供了有效的支持。

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支持Caffe,Caffe2,ONNX和TensorFlow模型。)训练完成后,训练的模型将转换为可加载到SNPE运行时的DLC文件。 然后,可以使用此DLC文件使用其中一个Snapdragon加速计算核心执行前向推断传递。

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

SNPE(Snapdragon Neural Processing Engine)框架的工作流程如下:

  1. 模型准备:使用深度学习框架(如Caffe、TensorFlow等)训练出深度学习模型,然后通过SNPE模型优化器将模型转换成SNPE可执行格式。在模型转换的过程中,SNPE会对模型进行剪枝、量化、编译等优化操作,以提升模型在移动端和物联网设备上的性能和效率。
  2. 模型加载:将转换后的SNPE模型加载到移动端或物联网设备上。在加载模型的过程中,SNPE会根据设备配置和硬件平台等条件选择合适的加速库,如高通DSP库等。
  3. 数据输入:将待处理的数据输入到SNPE模型中。可以通过摄像头、麦克风等设备获取实时数据流,也可以通过文件读取的方式输入离线数据。
  4. 模型推理:通过SNPE模型推理引擎对数据进行处理。在模型推理的过程中,SNPE会根据模型结构和数据输入等参数计算出模型的输出结果,输出结果可以是分类、回归、分割等形式。
  5. 结果输出:将模型推理得到的结果输出到移动端或物联网设备上。可以通过屏幕、扬声器等设备显示或播放结果,也可以通过网络传输的方式将结果发送到远程服务器上。

总之,SNPE框架的工作流程包括模型准备、模型加载、数据输入、模型推理和结果输出等步骤,能够支持多种深度学习模型和多种硬件平台,为移动端和物联网设备上的深度学习应用提供高效的支持。

高通SNPE框架简介相关推荐

  1. 高通SNPE - OpenCL简介(4)

    Adreno OpenCL应用程序开发 本文章将要简要讨论Adreno OpenCL应用程序的一些基本要求开发,然后介绍如何调试和分析应用程序. Android上的OpenCL应用程序开发 目前,Ad ...

  2. 基于高通SNPE推理引擎的yolov5目标检测算法

    上图源自Snapdragon Neural Processing Engine SDK Reference Guide,它展示了一个Deep Learning Neural Network在SNPE环 ...

  3. 边缘计算:万字长文详解高通SNPE inception_v3安卓端DSP推理加速实战

    本文是在以下文章的基础上编写,关于SNPE环境部署和服务器端推理可以参考上一篇文章: 边缘计算:万字长文详解高通SNPE inception_v3推理实战_seaside2003的博客-CSDN博客 ...

  4. 高通WLAN框架学习(31)-- Power save

    前面的章节已经介绍了高通WLAN框架学习(18)-- QPower 3.0_专业开发者的博客-CSDN博客 接下来这一章节继续深入下 高通Power save算法根据无线网络的流量和拥塞情况,在不影响 ...

  5. 高通WLAN框架学习

    下面是针对高通WLAN Power相关的分析介绍 高通WLAN稳定和功耗分析--WLAN power体系结构 高通WLAN稳定和功耗分析--WLAN功率测量 高通WLAN稳定和功耗分析--Debug ...

  6. 高通baseband多媒体简介

    由于baseband并不会拥有像AP一样强大完整的多媒体功能,所以高通的baseband方案(如QSC6075)并不会像Packetvideo.Nextreaming那样一套统一框架下的完整多媒体解决 ...

  7. 高通WLAN框架学习(17)-- NIO和PNO

    本章详细介绍了preferred network offload (PNO)扫描概述.流.模式和配置文件. 18.1 PNO扫描概述 WLAN STA在通过AP模组连接AP之前,需要偶尔对环境进行扫描 ...

  8. 高通WLAN框架学习(1)- -WIFI的认证和log的抓取

    本章节主要学习下高通WIFI的认证和log的抓取 1.WLAN的基本描述 本博客主要介绍下高通WLAN的概述,涵盖了可用于WLAN以及WLAN.蓝牙和LTE共存的调试方法. 还说明了软件调试可用的配置 ...

  9. 高通WLAN框架学习(35)-- EDCA机制

    在说高通针对EDCA机制之前,可以看下这篇博客写的不错 (五)EDCA机制详解 高通的代码位于cfg_mlme_edca_params.h文件中 /* 267 * <ini> 268 * ...

最新文章

  1. 《Spark大数据分析实战》——1.4节弹性分布式数据集
  2. linux 多进程 多线程的选择
  3. python链接hbase模块_HBase实战(1):使用Python连接Hbase数据库
  4. SpringBoot中使用thymeleaf的trim方法进行判断字符串是否相等
  5. http中的请求头各部分都是什么意思_小前端探索HTTP
  6. 云主机superset接入redis缓存
  7. 智伴机器人安卓怎么设置个人热点_周五到!!宿舍断网怎么办,教你一招
  8. 面向对象三大特征之继承(extends)——Java笔记(六)
  9. 阿里巴巴大数据实践—阿里巴巴的数据模型实践综述
  10. Mysql datadir change on ubuntu
  11. terminal看服务器性能,终端服务服务器性能评估优化问题
  12. 多线程之 interrupt,interrupted,isInterrupted 方法区别
  13. noi 8462 大盗阿福
  14. 鸿蒙桌面设置教程,鸿蒙系统桌面怎么设置好看?好看的鸿蒙系统手机桌面设置布局推荐...
  15. 各大IT公司技术架构一览
  16. VM189:1 Uncaught SyntaxError: Unexpected token o in JSON at position 1
  17. luci编程 openwrt_Luci流程分析(openwrt下)
  18. 跨平台测试框架--STAF介绍
  19. POJ 1606 Jugs
  20. ATTCK v10版本战术介绍执行(下篇)

热门文章

  1. js replace替换目标字符串 可以多个
  2. python 读取jpg文件是yuv_读取yuv文件
  3. 移动电子商务金融特点
  4. 数学之美 语言的思维 中国合伙人
  5. 【实测PulseSensor 脉搏传感器】玩的就是心跳 —— 使用 PulseSensor 脉搏传感器测量心率
  6. atd和crond两个任务管理程序的区别
  7. JS 添加属性的两种方式
  8. 系统学习前端之FormData详解
  9. 路径跟踪—基于车辆运动学方程的离散时间LQR控制仿真
  10. vim粘贴从其他地方复制过来的内容时多出来其他字符比如反斜杠或空格