Abd*_*hab 0 android machine-learning tensorflow tensorflow-lite
我已经在 keras 中训练了我自己的图像分类模型模型,并将其转换为 tflite 然后我想通过 tensorflow lite 在 android 中使用该模型。为此,我使用了一个 github 项目来直接获取该项目的应用程序链接:
但是我在 logcat 中遇到了这个错误:
2020-03-30 14:50:48.747 27421-27421/com.amitshekhar.tflite E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.amitshekhar.tflite, PID: 27421
java.lang.IllegalArgumentException: Cannot copy between a TensorFlowLite tensor with shape [2] and a Java object with shape [1, 2].
at org.tensorflow.lite.Tensor.throwIfShapeIsIncompatible(Tensor.java:342)
at org.tensorflow.lite.Tensor.throwIfDataIsIncompatible(Tensor.java:305)
at org.tensorflow.lite.Tensor.copyTo(Tensor.java:183)
at org.tensorflow.lite.NativeInterpreterWrapper.run(NativeInterpreterWrapper.java:166)
at org.tensorflow.lite.Interpreter.runForMultipleInputsOutputs(Interpreter.java:311)
at org.tensorflow.lite.Interpreter.run(Interpreter.java:272)
at com.amitshekhar.tflite.TensorFlowImageClassifier.recognizeImage(TensorFlowImageClassifier.java:70)
at com.amitshekhar.tflite.MainActivity$1.onImage(MainActivity.java:75)
at com.wonderkiln.camerakit.EventDispatcher$1.run(EventDispatcher.java:42)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:224)
at android.app.ActivityThread.main(ActivityThread.java:7094)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:536)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:928)
Run Code Online (Sandbox Code Playgroud)
对此的任何帮助将不胜感激,此外,除了我的模型的输入大小和我自己的 tflite 模型和资产文件夹中的 labels.txt 文件之外,我没有对代码进行任何更改。
我已经解决了我的问题。这是我的 .h5 keras 模型到 tflite 的转换过程的问题。所以,这导致了错误的输出张量。所以任何面对这种情况的人都应该确保在
您的 android 应用程序输入大小应该与模型中指定的一样。
使用这个很棒的工具在转换前后始终检查您的模型,这里是下面工具的链接。
[适用于所有类型模型的 Netron 可视化工具]
https://www.electronjs.org/apps/netron
[Google Colab 笔记本]
https://colab.research.google.com/drive/1wgy0vqS6IRO0rHju7l_InCUiatCo85y6#scrollTo=0tZma5ebnzZN
谢谢..
归档时间: |
|
查看次数: |
2183 次 |
最近记录: |