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]由于网络和网络层的快速发展,支持部分加速,将随时间推移而扩展。
Qualcomm 开发者专区是 Qualcomm 联合CSDN 共同打造的面向中国开发者的技术专区。致力于通过提供全球最新资讯和最多元的技术资源及支持,为开发者们打造全面一流的开发环境。本专区将以嵌入式、物联网、游戏开发、Qualcomm® 骁龙™处理器的软件优化等技术为核心,打造全面的开发者技术服务社区,为下一代高性能体验和设计带来更多的想法和灵感。
加入 Qualcomm 开发者专区