有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Android应用程序中的java Tensorflow Lite自定义对象检测模型错误

你能帮我解决这个错误吗

根据文档,我正在Android应用程序中使用TensorFlow Lite测试一个自定义对象检测模型,但当库试图识别图像时,我出现了一个错误

我正在使用Tensorflow lite示例应用程序: https://github.com/tensorflow/examples/tree/master/lite/examples/object_detection/安卓

使用任务库: https://www.tensorflow.org/lite/inference_with_metadata/task_library/object_detector

依赖版本 implementation 'org.tensorflow:tensorflow-lite-task-vision:0.1.0'

执行此方法时,会出现以下错误:

方法 List<Detection> results = objectDetector.detect(TensorImage.fromBitmap(bitmap));

错误

Abort message: 'JNI DETECTED ERROR IN APPLICATION: JNI NewStringUTF called with pending exception java.lang.NoSuchMethodError: no static method Lorg/tensorflow/lite/support/label/Category;.create(Ljava/lang/String;Ljava/lang/String;F)Lorg/tensorflow/lite/support/label/Category;"
        at java.util.List org.tensorflow.lite.task.vision.detector.ObjectDetector.detectNative(long, java.nio.ByteBuffer, int, int, int) (ObjectDetector.java:-2)
        at java.util.List org.tensorflow.lite.task.vision.detector.ObjectDetector.detect(org.tensorflow.lite.support.image.TensorImage, org.tensorflow.lite.task.core.vision.ImageProcessingOptions) (ObjectDetector.java:312)
        at java.util.List org.tensorflow.lite.task.vision.detector.ObjectDetector.detect(org.tensorflow.lite.support.image.TensorImage) (ObjectDetector.java:292)
        at java.util.List org.tensorflow.lite.examples.detection.tflite.TFLiteObjectDetectionAPIModel.recognizeImage(安卓.graphics.Bitmap) (TFLiteObjectDetectionAPIModel.java:87)
        at void org.tensorflow.lite.examples.detection.DetectorActivity$2.run() (DetectorActivity.java:187)
        at void 安卓.os.Handler.handleCallback(安卓.os.Message) (Handler.java:938)
        at void 安卓.os.Handler.dispatchMessage(安卓.os.Message) (Handler.java:99)
        at void 安卓.os.Looper.loop() (Looper.java:223)
        at void 安卓.os.HandlerThread.run() (HandlerThread.java:67)
    
        in call to NewStringUTF
        from java.util.List org.tensorflow.lite.task.vision.detector.ObjectDetector.detectNative(long, java.nio.ByteBuffer, int, int, int)'```

共 (1) 个答案

  1. # 1 楼答案

    该问题已于2021年年中确定,不包括在0.1.0中。请从Jcenter(而不是Maven)尝试夜间版本,看看它是否有效

    org.tensorflow:tensorflow-lite-task-vision:0.0.0-nightly-SNAPSHOT
    

    我们将在4月份发布一个新的稳定版本。请继续收看