千家信息网

PyTorch的原型功能有哪些

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章主要为大家展示了"PyTorch的原型功能有哪些",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"PyTorch的原型功能有哪些"这篇文章吧。PyTo
千家信息网最后更新 2025年12月03日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模型利用。

表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负载,甚至更显著的性能优势。

表2 - MobileNetV2模型基准


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

模型 支持 程序 功能 应用程序 应用 开发 原型 硬件 背景 人员 张量 神经 网络 内容 卷积 基准 手机 更多 版本 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 泛微 数据库 考勤表 数据库超市管理系统概述 sql数据库怎么写期初余额 网络安全工程师需要看什么书 数据库光盘映像文件如何安装 骑砍2在线模式无法从平台服务器 bat从本地复制文件到服务器 公众平台有服务器吗 珠海做旅游平台的软件开发 达梦数据库日期传参转换错误 mc服务器服主和管理员 邹平模具软件开发定制 灵沃软件开发是培训机构吗 汽车人软件开发流程 文摘数据库EBSCO 尚学堂数据库教程 长春短视频软件开发服务商 酒店网络安全责任书范文 计算机网络技术是怎么回事啊 中启创网络技术有效公司 软件开发做多久成为项目经理 内蒙古软件开发资格 网络安全状态 已存在的数据库怎么打开 爬取所有的股票数据库 网易邮箱如何改服务器配置 上海数据软件开发设施推广 灌云选择网络技术创新服务 上位机软件开发指南 达梦数据库语法
0