Qualcomm®骁龙™神经处理引擎(Neural Processing Engine, NPE)SDK

Qualcomm Technologies, Inc. 出品

Qualcomm® 骁龙™移动平台拥有丰富的异构计算能力,可以在设备上运行经过训练的神经网络,且无需连接到云端,实现边缘计算。Qualcomm® 骁龙™ 神经处理引擎(Neural Processing Engine, NPE)软件开发包(SDK)旨在帮助有意创建人工智能(AI)解决方案的开发者,在骁龙移动平台上(不管是CPU、GPU还是DSP)运行通过Caffe/Caffe2或Tensorflow训练的一个或多个神经网络模型。

骁龙NPE旨在帮助AI开发人员在优化骁龙设备上运行受过训练的神经网络的性能时,节约更多时间与精力。它提供了模型转换和执行工具,以及针对核的API,利用功率和性能配置文件匹配所需的用户体验,从而实现优化,节约开发人员的时间和精力。骁龙NPE支持卷积神经网络、长短期记忆网络(LSTM)和定制层。

骁龙NPE处理了在骁龙移动平台上运行神经网络所需的大量繁重工作,为开发人员留出更多的时间和资源来专注于通过AI的创造创新应用体验。

SDK主要特性有哪些?

  • • Android和Linux运行环境,供执行神经网络模型
  • • 支持利用Qualcomm Hexagon™DSP、Qualcomm Adreno™ GPU和 Qualcomm Kryo™、 CPU[2],为应用提供加速
  • • 支持Caffe、Caffe2和TensorFlow模型
  • • 提供控制运行时加载、执行和调度的多个API
  • • 用于模型转换的桌面工具
  • • 用于识别性能瓶颈的性能基准测试
  • • 示例代码和教程
  • • HTML文档

为了让AI开发者更轻松,骁龙NPE SDK没有另行定义网络层库;发布时就支持Caffe/Caffe2和 TensorFlow,开发人员可以自由使用自己熟悉的框架设计和训练网络。开发工作流程如下:

完成模型的设计和训练后,模型文件需要转换成“.dlc”(Deep Learning Container)文件,供骁龙 NPE运行时使用。转换工具将输出转换信息,包括有关不受支持或非加速层的信息,开发者可以使用这些信息调整初始模型的设计。

骁龙NPE SDK适合什么人?

使用骁龙NPE SDK开发人工智能需要满足以下几个前提,然后才可以开始创建解决方案。

  • • 你在一个或多个垂直领域需要运行卷积/LSTM模型,包括移动、汽车、IoT、AR、无人机和机器人
  • • 你了解如何设计和训练模型,或者已经有一个预训练的模型文件
  • • 你选择的框架是Caffe/Caffe2或TensorFlow
  • • 你可以为Android编写JAVA应用,或者基于Android或Linux系统编写原生应用
  • • 你有Ubuntu 14.04的开发环境
  • • 你有可用于测试应用程序的设备

您也可以通过支持论坛联系我们,了解不同的用途或需求。

论坛和反馈

我们欢迎您就NPE SDK提出反馈和问题。点击论坛链接,阅读常见问题的答案,注册发布新贴,跟踪帖子的更新,回答其他机器学习爱好者提出的问题。

[1]通过内部测试(在Qualcomm® Snapdragon™ 835设备上运行Inception-v3模型的推理用例)获得的指示性平均数。

[2]NPE SDK支持Qualcomm® Snapdragon™ 820, 835, 625, 626, 650, 652, 653, 660和630。 设备必须有libOpenCL.so,以支持Qualcomm® Adreno™ GPU。

[3]由于网络和网络层的快速发展,支持部分加速,将随时间推移而扩展。

SDK 下载

本版块下载 SDK,只需简单注册,就可轻松下载。