0

下面是 NNAPI 的系统架构。 在此处输入图像描述

NNAPI 适用于 Android 8.1(API 级别 27)或更高版本。如果我尝试在 android 8.1 下使用 GPU 委托会发生什么?

4

2 回答 2

1

Tensorflow 的 GPU 委托未使用 NNAPI(请参阅TFLite 文档)。

对 Shree 的回答进行了一些更正。

  • NNAPI 将委托给 GPU 或任何其他可用设备,即使在 Android 8.1 中也取决于 NNAPI 实现的可用性。
  • ANeuralNetworksCompilation_createForDevices () API 在您想要寻址一组特定设备时使用,如果您使用ANeuralNetworksCompilation_create(),则设备选择将由 NNAPI 完成。
  • 两个不同 API(createForDevicescreate)之间的选择由委托创建中的加速器名称选项控制。
于 2020-02-21T09:22:06.603 回答
0

NNAPI 适用于所有运行 Android 8.1(API 级别 27)或更高版本的 Android 设备

Oreo MR1(8.1.0)上只有CPU 回退可用

请参考以下关于 Pixel 2 设备(Android 8.1)上使用 NNAPI 的 TFLite 演示应用程序性能的讨论 - https://github.com/tensorflow/tensorflow/issues/19317 - 这声称性能没有改善,因为没有GPU 和 DSP NN 驱动程序。因此,当调用 NNAPI 时,它将回退到 CPU

由于仅 API 级别 29(Android 10), NNAPI 支持ANeuralNetworksCompilation_createForDevices() - 这将创建一个 ANeuralNetworksCompilation 来为一组指定的设备(GPU 和 DSP)编译给定模型

于 2020-01-09T10:12:01.133 回答