问题标签 [nnapi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 如果我尝试在 android 8.1 下使用 GPU 委托会发生什么
下面是 NNAPI 的系统架构。 在此处输入图像描述
NNAPI 适用于 Android 8.1(API 级别 27)或更高版本。如果我尝试在 android 8.1 下使用 GPU 委托会发生什么?
android - Android NN中关于conv2D的问题:输出形状限制
当我尝试 android nn 代码时,在 Conv2D.cpp 中找到了这些:
我想知道为什么必须检查 byteSize?
163号线附近
多谢你们
tensorflow-lite - 如何让 Kirin 990 的 NPU 在 TensorFlow Lite 上运行?
我根据Post-training float16 quantization成功将 TensorFlow 模型转换为 TensorFlow Lite float16 模型。
我通过我的 C++ 代码在 MatePad Pro(Kirin 990) 上成功运行了它。
我专门为 NNAPI 写的是 SetAllowFp16PrecisionForFp32 和 AllocateTensors 之前的 UseNNAPI。
但性能并不好。
我查看了日志adb logcat
,发现armnn和liteadapter,我认为是华为的NNAPI驱动,不支持CONV_2D和NNAPI的CPU实现的nnapi-reference等主要操作作为回退执行。
消息如下所示。
为什么 NNAPI 驱动程序除了 nnapi-reference 不支持操作?
我该如何解决?
我想知道转换后的模型中的 Dequantize 操作不应该存在,并且每个操作都应该有 float16 参数。
我不知道我的猜测是否正确,即使它是正确的,我也不知道要消除 Dequantize 操作。
(当然,我尝试了 float32 转换模型。float32 模型的输出在 SetAllowFp16PrecisionForFp32(false) 和 SetAllowFp16PrecisionForFp32(true) 之间有很大不同。
所以我得出结论,你需要对 NNAPI 进行 float16 量化。)
以下是观察总结。
假设 setUseNNAPI(true),
- float32 模型和 SetAllowFp16PrecisionForFp32(true) 让 liteadapter 工作但输出错误。
- float32 模型和 SetAllowFp16PrecisionForFp32(false) 让 armnn 作为后备工作。
- float16 模型和 SetAllowFp16PrecisionForFp32(true or false) 让 nnapi-reference 作为后备工作。
请给我建议!
android - android nn_cts 测试用例是如何创建的?
NN_CTS 测试用例是使用一些脚本自动生成的。我试图了解这些测试用例是否有可用的源代码。文档也不是很清楚。
- 是否有任何源代码可以找到生成这些测试用例的脚本? https://android.googlesource.com/platform/frameworks/ml/+/refs/heads/android10-c2f2-release/nn/runtime/test/generated/:此位置的测试用例
- 是否有任何社区可以让我建议/提问以获得及时回复?
谢谢!
android - Android NDK 的 sharedmem.h 的动态库文件(.so)在哪里?
我正在尝试构建 NNAPI c++ 本机程序,我需要使用 sharedmem 库。我找到了 NeuralNetwork.h 的动态库文件,但是我找不到 sharedmem.h 的动态库文件。因此我有一个链接器错误,例如,
我如何链接 sharedmem.h 文件。
tensorflow - 具有 NNAPI 委托的 tensorflow lite 的多个实例
Tensorflow lite 中的 NNAPI 委托使用共享内存来存储图的输入和输出张量。但是共享内存池的名称是硬编码的("input_pool"
和"otput_pool"
):
现在,如果执行多个带有 NNAPI 委托的 tensorflow lite 实例会发生什么?根据我的理解,它们都将映射和使用相同的共享内存池。这不会导致比赛条件吗?
android - 如何在适用于 Android 的 Tensorflow Lite 上使用 HAL 1.2 版?
我有一个量化的 TensorflowLite 模型,我正在将其加载到运行 Android 11 的 Pixel 3 上。我使用 Tensorflow Lite 2.5 构建了模型,并且我正在使用适用于 Android 的 Tensorflow 的夜间构建。
我正在使用默认提供的 NNAPI 委托初始化 TFLite 解释器。
但是,当我加载模型时,我从 NNAPI 收到以下错误:
Android 11 应该支持 NNAPI 1.2。TensorFlow 或 Android 是否缺少一些参数来支持 NNAPI 上的更高版本?
作为参考,这是我的 gradle 文件中的依赖项:
android - Hiai Foundation 是否适用于原生 shell 程序?
我对华为 NPU 很感兴趣(我使用的是 kirin9000、990、810),我刚刚发现当我使用 hiai Foundation api 使用 NPU 时,当我通过 adb shell 构建为本机 shell 程序时,hiai Foundation 不起作用,但是,它当它通过带有 jni 的 android 应用程序运行时运行良好。
我能得到一些关于这个问题的帮助吗?
此外,当我在本机中运行 tensorflow lite benchmark_model 时,NNapi 委托不适用于 NPU 设备。是否与上述问题有关?
谢谢!
python - tflite model outputs different predictions on CPU and NNAPI
I trained and quantized a Tensorflow model on a Ubuntu 18.04 machine and I converted it to tflite format. Then I deployed it on a Linux Yocto board equipped with a NPU accelerator, tflite_runtime and NNAPI. I noticed that the same tflite model outputs different predictions when using the CPU on my PC and the NPU+NNAPI on the board for inference. The predictions are often similar, but in some cases they are completely different. I tried to disable NNAPI on the board and to make inference using the CPU and the results were the same as on the PC CPU. So I think that the problem is the NNAPI. However, I don't know why this happens. Is there a way to prevent it or to make the network more robust during training?