Не удается использовать пользовательскую модель обнаружения объектов (TFLITE) в приложении android - PullRequest
0 голосов
/ 22 февраля 2020

Я обучил модель обнаружения объектов обнаружению четырех типов видов растений с помощью Google AutoML и замену пользовательских файлов .tflite и .txt на модель, загруженную из https://github.com/tensorflow/examples/tree/master/lite/examples/object_detection/android. После того, как я установил приложение на телефон Android, оно просто продолжает сбой и показывает сообщение о том, что версия устарела. Вот код, который я заменяю .tflite и .txt файлы в DetectorActivity. java:

// Configuration values for the prepackaged SSD model.
private static final int TF_OD_API_INPUT_SIZE = 512;
private static final boolean TF_OD_API_IS_QUANTIZED = true;
private static final String TF_OD_API_MODEL_FILE = "plant_detect.tflite";
private static final String TF_OD_API_LABELS_FILE = "file:///android_asset/plant_list.txt";
private static final DetectorMode MODE = DetectorMode.TF_OD_API;
// Minimum detection confidence to track a detection.
private static final float MINIMUM_CONFIDENCE_TF_OD_API = 0.5f;
private static final boolean MAINTAIN_ASPECT = false;
private static final Size DESIRED_PREVIEW_SIZE = new Size(640, 480);
private static final boolean SAVE_PREVIEW_BITMAP = false;
private static final float TEXT_SIZE_DIP = 10;
OverlayView trackingOverlay;
private Integer sensorOrientation;

А вот ошибки в logcat:

2020-03-06 16:20:35.711 6762-6769/? E/mples.detectio: Unable to peek into adb socket due to error. Closing socket.: Connection reset by peer
2020-03-06 16:20:36.387 6762-6762/? E/libc: Access denied finding property "vendor.camera.aux.packagelist"
2020-03-06 16:20:36.387 6762-6762/? E/libc: Access denied finding property "vendor.camera.aux.packagelist"
2020-03-06 16:20:36.387 6762-6762/? E/libc: Access denied finding property "vendor.camera.aux.packagelist"
2020-03-06 16:20:36.387 6762-6775/? E/libc: Access denied finding property "vendor.camera.aux.packagelist"
2020-03-06 16:20:36.577 6762-6762/? E/libc: Access denied finding property "vendor.camera.aux.packagelist"
2020-03-06 16:20:36.578 6762-6762/? E/libc: Access denied finding property "vendor.camera.aux.packagelist"
2020-03-06 16:20:36.580 6762-6762/? E/libc: Access denied finding property "vendor.camera.aux.packagelist"
2020-03-06 16:20:36.582 6762-6762/? E/libc: Access denied finding property "vendor.camera.hal1.packagelist"
2020-03-06 16:20:36.589 6762-6775/? E/libc: Access denied finding property "vendor.camera.aux.packagelist"
2020-03-06 16:20:36.590 6762-6775/? E/libc: Access denied finding property "vendor.camera.aux.packagelist"
2020-03-06 16:20:36.666 6762-6762/? E/Camera-JNI: setPreviewCallbackFlags is to be ignored, because CallbackBuffers is empty
2020-03-06 16:20:36.871 6762-6836/? E/Camera-JNI: Out of buffers, clearing callback!
2020-03-06 16:20:37.131 6762-6923/org.tensorflow.lite.examples.detection E/Camera-JNI: Out of buffers, clearing callback!
2020-03-06 16:20:37.190 6762-6836/org.tensorflow.lite.examples.detection E/Camera-JNI: Out of buffers, clearing callback!
2020-03-06 16:20:37.252 6762-6836/org.tensorflow.lite.examples.detection E/Camera-JNI: Out of buffers, clearing callback!
2020-03-06 16:20:37.314 6762-6923/org.tensorflow.lite.examples.detection E/Camera-JNI: Out of buffers, clearing callback!
2020-03-06 16:20:37.371 6762-6923/org.tensorflow.lite.examples.detection E/Camera-JNI: Out of buffers, clearing callback!
2020-03-06 16:20:37.429 6762-6923/org.tensorflow.lite.examples.detection E/Camera-JNI: Out of buffers, clearing callback!
2020-03-06 16:20:37.484 6762-6826/org.tensorflow.lite.examples.detection E/AndroidRuntime: FATAL EXCEPTION: inference
Process: org.tensorflow.lite.examples.detection, PID: 6762
java.lang.IllegalArgumentException: Cannot copy between a TensorFlowLite tensor with shape [1, 20, 4] and a Java object with shape [1, 10, 4].
    at org.tensorflow.lite.Tensor.throwIfShapeIsIncompatible(Tensor.java:412)
    at org.tensorflow.lite.Tensor.throwIfDataIsIncompatible(Tensor.java:369)
    at org.tensorflow.lite.Tensor.copyTo(Tensor.java:247)
    at org.tensorflow.lite.NativeInterpreterWrapper.run(NativeInterpreterWrapper.java:166)
    at org.tensorflow.lite.Interpreter.runForMultipleInputsOutputs(Interpreter.java:314)
    at org.tensorflow.lite.examples.detection.tflite.TFLiteObjectDetectionAPIModel.recognizeImage(TFLiteObjectDetectionAPIModel.java:193)
    at org.tensorflow.lite.examples.detection.DetectorActivity$2.run(DetectorActivity.java:181)
    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.os.HandlerThread.run(HandlerThread.java:65)
2020-03-06 16:20:37.491 6762-6923/? E/Camera-JNI: Out of buffers, clearing callback!
...