Android 神经网络API 编程模型

       要使用NNAPI执行计算,首先需要构造一个有向图来定义要执行的计算。这个计算图与您的输入数据(例如,从机器学习框架传递下来的权重和偏差)相结合,形成了NNAPI运行时评估的模型。

  • 模型:是一个含操作符的数学运算图。包括了输入的数据和从训练好的模型得到的常量值(weight)。这些操作是特定于神经网络的。它们包括二维(2D)卷积,logistic(sigmoid)激励函数,整流线性(ReLU)激励函数等等。创建模型是一个同步操作,但是一旦成功创建,就可以在线程和编译之间重用。在NNAPI中,模型被表示为ANeuralNetworksModel实例。
  • 编译:表示将NNAPI model 编译为low-level代码的配置。创建一个编译是一个同步操作,但一旦成功创建,它可以在线程和执行之间重用。在NNAPI中,每个编译都被表示为一个ANeuralNetworksCompilation实例。
  • 内存:表示共享内存,内存映射文件和类似的内存缓冲区。使用内存缓冲区可让NNAPI运行时更有效地将数据传输到驱动程序。应用程序通常会创建一个共享内存缓冲区,其中包含定义模型所需的每个张量。也可以使用内存缓冲区来存储执行实例的输入和输出。在NNAPI中,每个内存缓冲区都表示为一个ANeuralNetworksMemory实例。
  • 执行:将NNAPI模型应用于一组输入并收集结果的接口。执行是一个异步操作。多个线程可以等待相同的执行。执行完成后,所有的线程将被释放。在NNAPI中,每个执行都表示为一个ANeuralNetworksExecution实例。

      NNAPI 编程模型如下图




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值