首页 > 解决方案 > AOSP 上的 TensorFlow Lite 示例 Android 应用

问题描述

我已经运行了 Android 示例 TF-Lite 应用程序,它可以正常工作,但是如果我尝试使用 Android.mk 在 AOSP 中构建相同的示例应用程序(SpeechActivity 部分),我会遇到以下错误。

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mycompany.mmiservice/com.mycompany.mmiservice.SpeechActivity}: java.lang.IllegalArgumentException: Invalid handle to Interpreter.
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2820)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2895)
    at android.app.ActivityThread.-wrap11(Unknown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1596)
    at android.os.Handler.dispatchMessage(Handler.java:105)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6565)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
 Caused by: java.lang.IllegalArgumentException: Invalid handle to Interpreter.
    at org.tensorflow.lite.NativeInterpreterWrapper.resizeInput(Native Method)
    at org.tensorflow.lite.NativeInterpreterWrapper.resizeInput(NativeInterpreterWrapper.java:155)
    at org.tensorflow.lite.Interpreter.resizeInput(Interpreter.java:191)
    at com.mycompany.mmiservice.SpeechActivity.onCreate(DummyActivity.java:143)

我已将相同的下载 conv_actions_frozen.tflite 和 conv_action_labels.txt 添加到“/assets”目录并在 Android.mk 中指定如下。

LOCAL_ASSET_FILES += $(call find-subdir-assets)

错误日志似乎模型未正确加载到解释器中。

谁能建议我做错了什么?

标签: androidandroid-sourcetensorflow-lite

解决方案


推荐阅读