重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

PyTorch的原型功能有哪些

这篇文章主要为大家展示了“PyTorch的原型功能有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“PyTorch的原型功能有哪些”这篇文章吧。

创新互联是创新、创意、研发型一体的综合型网站建设公司,自成立以来公司不断探索创新,始终坚持为客户提供满意周到的服务,在本地打下了良好的口碑,在过去的十余年时间我们累计服务了上千家以及全国政企客户,如咖啡厅设计等企业单位,完善的项目管理流程,严格把控项目进度与质量监控加上过硬的技术实力获得客户的一致称誉。

PyTorch的一个原型功能:支持Android的神经网络API (NNAPI)。PyTorch Mobile旨在为ML开发人员提供一流的体验,并在所有移动硬件上实现高性能的执行。NNAPI的支持对于实现这一目标至关重要,因为它扩展了我们可以用来快速执行模型的硬件集。这个初始版本包含了对一组小而强大的特性和操作的全功能支持,我们将在未来几个月扩大支持。

NNAPI允许Android应用程序在手机芯片最强大、最高效的部件上运行计算密集型神经网络,包括GPU(图形处理单元)和NPU(专门的神经处理单元)。它在Android 8 (Oreo)中被引入,并在Android 10和11中显著扩展,以支持更丰富的AI模型集。虽然NNAPI为各种硬件驱动程序提供了方便的统一接口,但它是一个需要大量集成工作的低级API。像PyTorch这样的高级框架使更多的应用程序开发人员可以获得这些好处。

NNAPI没有本地磁盘模型格式,所以我们选择将模型定义封装在普通的TorchScript模型中。开发人员将在训练后准备好他们的模型,然后在NNAPI上执行。然后,保存的模型可以打包到Android应用程序中(或通过网络交付),然后使用PyTorch Mobile的Java API或libtorch c++ API加载和运行。对于已经使用PyTorch Mobile的应用程序,不需要更改代码。开发人员可以简单地用NNAPI模型替换他们的CPU模型。

对于PyTorch开发者来说,访问和使用Android的NNAPI对随时在线的实时模型(如设备上的计算机视觉)特别有吸引力。这些模型往往是计算密集型的、对延迟敏感的和能耗高的。同时满足这三个要求是一项挑战,这使得这些模型成为利用硬件加速的最佳选择。这也是Facebook对NNAPI感兴趣的原因之一。在门户设备上支持虚拟背景体验的AI模型现在正在Messenger应用程序中使用NNAPI进行测试,以启用沉浸式360度背景功能。

如表1所示,在Pixel 3上为这个模型使用Android的NNAPI,可以在单核CPU和2核CPU之间实现高性能,从而为非ML应用程序代码释放CPU。此外,在像Pixel 4和Pixel 5这样的新设备上,NNAPI支持更高级别的性能,这可以被更复杂的ML模型利用。

PyTorch的原型功能有哪些

表1 — 沉浸式360度背景启用模型基准测试  
 

类似地,许多实时音频模型也被引入到移动应用程序中。由于具有类似的并发性、延迟和电源需求,减少背景噪声等特性也将受益于基于NNAPI的硬件加速。

在框架或API之间转换机器学习模型总是很棘手,这次也不例外。虽然PyTorch和NNAPI都是为了运行相同类型的神经网络而开发的,但在从一个转换到另一个时,需要弥合语义上的许多微小差异。例如:

  • NNAPI使用整数偏置进行量化卷积运算,而PyTorch使用浮点运算。
  • PyTorch和NNAPI对卷积中的权值张量期望不同的内存排序。
  • PyTorch之前有一个复杂的上采样操作的内部表示,为了更容易转换到NNAPI,必须对其进行简化。
  • PyTorch和NNAPI有不同的NHWC张量表示。NNAPI只支持连续张量,因此需要显式的NHWC表示。PyTorch支持大步张量,因此约定总是使用NCHW,但可以选择结合     channels-last memory format     来获得NHWC行为。

这是PyTorch中NNAPI支持的第一个原型版本,当部署在Android 10及以上设备上时,它支持众所周知的线性卷积和MLP模型。即将发布的PyTorch将添加额外的功能,例如:

  • 支持额外的运算符来解除额外模型类型的阻塞。
  • 支持基于Mask R-CNN架构的加速模型。更多关于移动Mask R-CNN的信息请访问:https://research.fb.com/blog/2018/01/enabling-full-body-ar-with-mask-r-cnn2go/。
  • 支持较早的Android版本,8 (Oreo)和9 (Pie)。
  • 支持利用控制流语义的模型。
  • 当NNAPI可用的时候,模型可以在用户的Android手机上用,否则自动回退到CPU上执行。

使用表1中所示的手机,表2展示了对开源MobileNetV2模型进行基准测试的结果,与使能360度背景模型中看到的结果类似,可以获得类似的CPU负载,甚至更显著的性能优势。

PyTorch的原型功能有哪些

表2 — MobileNetV2模型基准  
 

以上是“PyTorch的原型功能有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


当前标题:PyTorch的原型功能有哪些
文章位置:http://cqcxhl.com/article/jocohp.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP