【问题标题】:How to use TensorFlow lite in Android with custom model for audio recognition如何在 Android 中使用 TensorFlow lite 和自定义模型进行音频识别
【发布时间】:2020-06-06 07:47:17
【问题描述】:

我有 TensorFlow lite Android 的示例,我想实现我的自定义训练模型以进行音频识别。我使用this 教程使用自定义dataset 训练了模型。我想将该模型实现到 TensorFlow lite Android 项目,但它给出了以下错误:

Process: org.tensorflow.lite.examples.speech, PID: 22892
    java.lang.IllegalArgumentException: Invalid input Tensor index: 1
        at org.tensorflow.lite.NativeInterpreterWrapper.getInputTensor(NativeInterpreterWrapper.java:287)
        at org.tensorflow.lite.NativeInterpreterWrapper.run(NativeInterpreterWrapper.java:136)
        at org.tensorflow.lite.Interpreter.runForMultipleInputsOutputs(Interpreter.java:311)
        at org.tensorflow.lite.examples.speech.SpeechActivity.recognize(SpeechActivity.java:424)
        at org.tensorflow.lite.examples.speech.SpeechActivity.access$400(SpeechActivity.java:73)
        at org.tensorflow.lite.examples.speech.SpeechActivity$4.run(SpeechActivity.java:373)
        at java.lang.Thread.run(Thread.java:764)

我已经使用语音识别的 TensorFlow lite android example 并将他们的 tflite 模型替换为我的自定义数据集模型

【问题讨论】:

  • 这表明你插入了错误的输入张量。您是否首先在 android 应用程序中打印了解释器的输入和输出张量形状,以查看预期的结果?
  • 你能分享你的代码吗?也许改用张量索引 0 并尝试?

标签: python android tensorflow tensorflow-lite


【解决方案1】:

在将 Google 的 TF Lite 示例改编为我的个人 ASR 项目时,我遇到了同样的错误,类似于你的。我已经通过从SpeechActivity 中删除方法onCreate 中的语句tfLite.resizeInput(1, new int[] {1}); 来修复它,因为我的自定义模型(以及您的,我相信)只有一个输入张量,与谷歌提供的原始模型不同,它考虑了两个输入张量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-11
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 2023-02-26
    相关资源
    最近更新 更多