欢迎来到天天文库
浏览记录
ID:27459787
大小:301.00 KB
页数:7页
时间:2018-12-04
《Arm NN:在移动和嵌入式设备上无缝构建和运行机器学习应用程序.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、ArmNN:在移动和嵌入式设备上无缝构建和运行机器学习应用程序ArmNN 最近,Arm宣布推出神经网络机器学习(ML)软件ArmNN。这项关键性技术,可在基于Arm的高能效平台上轻松构建和运行机器学习应用程序。 实际上,该软件桥接了现有神经网络框架(例如TensorFlow或Caffe)与在嵌入式Linux平台上运行的底层处理硬件(例如CPU、GPU或新型Arm机器学习处理器)。这样,开发人员能够继续使用他们首选的框架和工具,经ArmNN无缝转换结果后可在底层平台上运行。 机器学习需要一个训练阶段,也就是学习阶段(“这些是猫的图片”),另外还需要一个推理阶段,也就是应用所学的内容
2、(“这是猫的图片吗?”)。训练目前通常在服务器或类似设备上发生,而推理则更多地转移到网络边缘,这正是新版本ArmNN的重点所在。 一切围绕平台 机器学习工作负载的特点是计算量大、需要大量存储器带宽,这正是移动设备和嵌入式设备面临的最大挑战之一。随着运行机器学习的需求日益增长,对这些工作负载进行分区变得越来越重要,以便充分利用可用计算资源。软件开发人员面临的可能是很多不同的平台,这就带来一个现实问题:CPU通常包含多个内核(在ArmDynamIQbig.LITTLE中,甚至还有多种内核类型),还要考虑GPU,以及许多其他类型的专用处理器,包括Arm机器学习处理器,这些都是整体解决方案的一
3、部分。ArmNN这时就能派上用场。 下图中可以看出,ArmNN扮演了枢纽角色,既隐藏了底层硬件平台的复杂性,同时让开发人员能够继续使用他们的首选神经网络框架。 ArmNNSDK概览(首次发布版本) 您可能已经注意到,ArmNN的一个关键要求是ComputeLibrary,它包含一系列低级别机器学习和计算机视觉函数,面向ArmCortex-ACPU和ArmMaliGPU。我们的目标是让这个库汇集针对这些函数的一流优化,近期的优化已经展示了显著的性能提升–比同等OpenCV函数提高了15倍甚至更多。如果您是Cortex-MCPU的用户,现在还有一个机器学习原语库–也就是近期发布的CM
4、SIS-NN。 CMSIS-NN是一系列高效神经网络内核的集合,其开发目的是最大程度地提升神经网络的性能,减少神经网络在面向智能物联网边缘设备的ArmCortex-M处理器内核上的内存占用。Arm开发这个库的目的是全力提升这些资源受限的CortexCPU上的神经网络推理性能。借助基于CMSIS-NN内核的神经网络推理,运行时/吞吐量和能效可提升大约5倍。 主要优势 有了ArmNN,开发人员可以即时获得一些关键优势: 更轻松地在嵌入式系统上运行TensorFlow和Caffe ComputeLibrary内部的一流优化函数,让用户轻松发挥底层平台的强大性能 无论面向何种内核类型,
5、编程模式都是相同的 现有软件能够自动利用新硬件特性 与ComputeLibrary相同,ArmNN也是作为开源软件发布的,这意味着它能够相对简单地进行扩展,从而适应Arm合作伙伴的其他内核类型。 适用于Android的ArmNN 在五月举行的GoogleI/O年会上,Google发布了针对Android的TensorFlowLite,预示着主要新型API开始支持在基于Arm的Android平台上部署神经网络。表面上,这与Android下的ArmNNSDK解决方案非常相似。使用NNAPI时,机器学习工作负载默认在CPU上运行,但硬件抽象层(HAL)机制也支持在其他类型的处理器或加速器
6、上运行这些工作负载。Google发布以上消息的同时,我们的ArmNN计划也进展顺利,这是为使用ArmNN的MaliGPU提供HAL。今年晚些时候,我们还将为Arm机器学习处理器提供硬件抽象层。 Arm对GoogleNNAPI的支持概览 ArmNN的未来发展 这只是ArmNN的第一步:我们还计划添加其他高级神经网络作为输入,对ArmNN调试程序执行进一步的图形级别优化,覆盖其他类型的处理器或加速器……请密切关注今年的发展!
此文档下载收益归作者所有