Android 神经网络API 介绍

      

       Android Neural Networks API (NNAPI)是Android C API, 使用NDK进行编译运行。它设计用于在移动设备上运行机器学习的计算密集型操作。NNAPI旨在为构建和训练神经网络的高级机器学习框架(如TensorFlow Lite,Caffe2或其他)提供基础层功能。NNAPI适用于Android8.1 及以上系统

      NNAPI支持在Android 设备上通过使用开发人员之前定义并且训练好的模型进行推理。包括图像分类,预测用户行为等。在设备上推理有如下优点

  • 延迟: 你不需要通过网络连接发送请求并等待响应。这对视频应用从摄像头接受一帧再进行处理是十分关键的。
  • 可用性: 应用可以在没有网络服务的情况下运行。
  • 速度:专门用于神经网络处理的新硬件提供比单独使用通用CPU更快的计算。
  • 隐私性:数据不脱离设备
  • 花费:所有的计算在设备上完成,不需要服务器支持。

    同时,开发人员需要权衡和注意:
  • 神经网络运算需要大量的计算,会提升电池的消耗。如果你的APP需要持续的计算,你需要考虑电池的状况。
  • Model 的大小同样需要注意。有些模型会占用很大的空间,需要考虑安装APP后从云端下载模型。NNAPI不支持在云上运行模型。

NNAPI Runtime     

      NNAPI旨在被机器学习库,框架和工具所调用,它可以让开发人员将他们的模型脱离设备训练后在Android设备上进行部署。应用程序通常不会直接使用NNAPI,而是直接使用更高级别的机器学习框架。这些框架反过来可以使用NNAPI在受支持的设备上执行硬件加速推理操作。     

      基于应用程序的需求和设备上的硬件功能,Android的神经网络runtime可以有效地将计算工作量分配到可用的设备上,包括专用的神经网络硬件,图形处理单元(GPU)和数字信号处理器(DSP)     

       NNAPI Runtime同样可以在CPU上运行优化后的code。下图是NNAPI的high-level的系统架构。
                               

                               

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值