【发布时间】:2020-12-05 19:58:50
【问题描述】:
信息
我通过 C-API(在 these instructions 之后)在 Android 的 Native 环境中使用 Tensorflow-Lite,但与通过 Java API(在 ART 上)的 GPU 委托相比,运行时间要长得多。
JNI AAR file (2.2) 提供 C 头文件和共享库,但似乎共享库不包含 GPU 委托,而仅包含用于配置委托的框架(TfLiteDelegate 对象和 TfLiteDelegateCreate() )。
** 例如,它不提供任何TfLiteGpuDelegateV2Create() 或tflite 命名空间访问权限。
试验
- 我尝试使用 cmake 在项目中包含
libtensorflowlite_gpu_delegate.so,但尽管它似乎可以构建和链接,但无法通过本机代码访问该库。 - 我尝试按照c_api.h 的委托使用示例进行操作,但我似乎无法配置 GPU 委托。
- Docker 容器不包含工具链(尝试使用
bazel build -c opt --config android_arm64 tensorflow/lite/delegates/gpu:libtensorflowlite_gpu_delegate.so在tensorflow/tensorflow:latest-devel-gpu 中构建共享库的Tensorflow Docker 映像失败并出现cc_toolchain_suite '@local_config_cc//:toolchain' does not contain a toolchain for cpu 'arm64-v8a')
问题
如何使用 C-API 在 Android 的 Native 环境中通过 GPU 委托 运行推理?
【问题讨论】:
-
好问题,我也有同样的问题,有人可以帮助我们吗?
标签: c android-ndk delegates gpu tensorflow-lite