使用 ML Kit 与 NNAPI

我正在尝试在运行 Android 9 的设备上使用新的 Google 机器学习 SDK,ML Kit。根据官方网站:

ML Kit 通过将 Google 的机器学习技术(如 Google Cloud Vision API、TensorFlow Lite 和 Android Neural Networks API)整合到一个 SDK 中,使您能够轻松地在应用程序中应用机器学习技术。无论您需要基于云的处理能力、移动优化设备模型的实时能力,还是自定义 TensorFlow Lite 模型的灵活性,ML Kit 都只需几行代码即可实现。

我认为这意味着在至少运行 Android 8.1(根据 nnapi 文档)的设备上,SDK 可以使用 NNAPI。但当我在运行 Android 7.1 的设备上(nnapi 不受支持)运行相同应用时,我获得了与使用 Android 9(理论上使用 NNAPI)的设备相同的性能。我该如何使用 ML Kit 与 NNAPI?我做错了什么?ML Kit 的文档链接:https://firebase.google.com/docs/ml-kit/


回答:

根据 2018 年 10 月的论文:AI Benchmark: Running Deep Neural Networkson Android Smartphones,当没有特定的硬件和/或驱动程序可用时,NNAPI 默认使用 CPU 路径。在论文的末尾指出,一些设备存在实现问题。

由于论文的作者包括来自 Qualcomm、ARM、华为、MediaTek 和苏黎世联邦理工学院的代表,这可能是关于 Android 机器学习状态的最全面的概述。

在 2019 年 1 月,Google 宣布了TensorFlow Lite 具有 GPU 加速的开发者预览版,这将解决论文中提出的部分问题。

2020 年 7 月更新:

研究人员有一个网站:http://ai-benchmark.com/

他们在 2019 年 10 月更新了他们的论文:AI Benchmark: All About Deep Learning on Smartphones in 2019

Related Posts

如何使用Google Protobuf解析、编辑和生成object_detection/pipeline.config文件

我在一个常见的集成学习范式中训练多个模型,目前我在处理…

我的GridSearchCV不起作用,我不知道为什么

大家好,我在使用GridSearchCV时遇到了问题,…

Keras: 两个同时进行的层,其中一个对前一层的输出进行卷积

我想实现这样的模型连接: 输入图像1 -> 卷积层1 …

如何将行数据转换为列数据而不使用独热编码

我有一个如下所示的数据集。 MonthDate Day…

Vowpal Wabbit 可能的哈希冲突

我在VW中生成了一个模型,并且在相同的数据上生成了两个…

XGBoost算法,关于evaluate_model函数的问题

这个evaluate_model函数经常被使用,我在I…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注