SNPE教程一:基本概念

1、基本概念

SNPE是高通推出的一个神经网络加速引擎,他可以同时利用到DSP和GPU、GPU。

目前最新版本的SNPE1.54支持TensorFlow, Caffe, Caffe2, ONNX, TensorFlow

整体流程如下:

转换的流程大致如下:

 将训练好的模型用SNPE的工具转成DLC文件就可以在SNPE运行环境里跑了。装成DLC之后也可以用它自带的量化工具量化成8位整形,放到DSP上跑。

各芯片支持:


2、运行环境

大致架构如下:

DL Container Loader:加载DLC工具

Model Validation : 验证DLC工具

Runtime Engine : 推理引擎

Partitioning Logic : 将模型划分成多个子网络

Runtime
CPU支持双精度浮点和8位量化的模型
GPU        支持混合精度或者单精度浮点
DSP支持8位整形
AIP支持8位整形


 

HTA: 全称Hexagon Tensor Accelerator,既Hexagon张量加速器。 如果要在HTA上运行模型的一部分就需要用工具(snpe-dlc-quantize)对模型进行量化并且将其二值化然后嵌入到DLC中。有些情况下也可能手动的去分配哪些子网络在HTA上运行会更高效

HVX:Hexagon Vector eXtensions,向量处理扩展核心

SNPE可以将AIP剩余的部分放到CPU上运行

HTA自网络:对应着HTA编译器编译的部分,他的元数据来源于DFC的HTA部分

HNN子网络:对应着可以用Hexagon NN 库在DSP上运行的子网络,他的元数据是DLC的HVX部分

AIP: AIP(AI Processor) 可以交叉使用HTA, HVX, Q6去运行神经模型。而Q6就是协调HTA和HVX一起运行的

AIP(AI Processor)运行环境有以下几种方式:

A: 全部在HTA上运行

当你选择AIP运行环境时默认时完全的HTA

B: 部分在HTA上运行,部分在HNN上运行

当所有的子网络不能再HTA上运行时,HTA智能编译一个更小的子集

你也可以手动划分一个子网络到HTA上运行

C:可以手动划分多个部分

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
SNPE Docker是一个包含Snapdragon Neural Processing Engine SDK、Caffe和ADB的Docker镜像。你可以使用以下步骤来构建和运行SNPE Docker镜像: **步骤1:构建Docker镜像** 使用以下命令构建Docker镜像: ``` docker build -t snpe . ``` **步骤2:运行Docker容器** 使用以下命令来运行Docker容器: ``` docker run -it --privileged -v ~/Git/snpe-1.13.0:/root/snpe -v... ``` 在这个命令中,你需要根据你自己的需求来设置相关的选项和挂载卷。 **步骤3:安装SNPE环境** 根据需求,你可以使用Docker镜像中的SNPE环境。根据你的需求,你可以通过以下步骤来安装SNPE环境: 1. 登录到Docker仓库: ``` docker login cr.d.xiaomi.net -u org_46522 -p 46370020336295373ad3815abd6db118 ``` 2. 拉取SNPE镜像: ``` docker pull cr.d.xiaomi.net/ailab-vision-doc/snpe_dev:18.04 ``` 3. 开启一个后台Docker容器: ``` docker run -it --privileged -d --name snpe-1.50 -v /dev/bus/usb:/dev/bus/usb -v /home/:/home/ --net=host cr.d.xiaomi.net/ailab-vision-doc/snpe_dev:18.04 ``` **步骤4:使用SNPE** 在启动的容器中,你可以使用以下命令来使用SNPE: 1. 启动一个容器: ``` # 查看之前已经启动的容器 docker container ls -a # 61744239ab70是容器的ID docker container start 61744239ab70 # 开启一个Docker终端 docker exec -it 61744239ab7 /bin/bash ``` 2. 如果在Docker镜像中没有对应版本的SNPE目录,你可以从SNPE官网下载对应版本的SNPE,并将其拷贝到`/root/snpe/`目录中。 3. 使用SNPE进行模型转换和量化。具体的步骤可以参考官方文档或者SNPE的使用指南。 希望以上信息能够帮助到你。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值