在高通平台的cpu/gpu/dsp/npu上运行神经网络模型

为了能在高通的gpu/dsp上运行神经网络,高通提供了一套sdk:
https://developer.qualcomm.com/docs/snpe/overview.html
通过这套sdk,可以把caffe/tensorflow等平台的模型转成.dlc格式的离线模型,可选地,还可以对模型进行量化、压缩等操作。
通过这套sdk,可以轻松地在高通的gpu/dsp上运行神经网络,充分利用硬件资源。

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在高通平台的cpu/gpu/dsp/npu上运行神经网络模型_第1张图片

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

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

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

参考:https://blog.csdn.net/mouse1598189/article/details/86695404

你可能感兴趣的:(Deep,Learning)