java.lang.IllegalArgumentException: Неверный выходной индекс Тензор: 1 - PullRequest
0 голосов
/ 22 октября 2019

Я скачал код обнаружения объектов Тензор потока Android и заменил свой собственный файл .tflite в активе. При запуске проекта я получаю эту ошибку
java.lang.IllegalArgumentException: Invalid output Tensor index: 1

Я пытался изменить "Configuration values for the prepackaged SSD model." в коде, все еще не работает

runInBackground(
    new Runnable() {
      @Override
      public void run() {
        LOGGER.i("Running detection on image " + currTimestamp);
        final long startTime = SystemClock.uptimeMillis();
        final List<Classifier.Recognition> results = detector.recognizeImage(croppedBitmap);
        lastProcessingTimeMs = SystemClock.uptimeMillis() - startTime;

        cropCopyBitmap = Bitmap.createBitmap(croppedBitmap);
        final Canvas canvas = new Canvas(cropCopyBitmap);
        final Paint paint = new Paint();
        paint.setColor(Color.RED);
        paint.setStyle(Style.STROKE);
        paint.setStrokeWidth(2.0f);

        float minimumConfidence = MINIMUM_CONFIDENCE_TF_OD_API;
        switch (MODE) {
          case TF_OD_API:
            minimumConfidence = MINIMUM_CONFIDENCE_TF_OD_API;
            break;
        }

        final List<Classifier.Recognition> mappedRecognitions =
            new LinkedList<Classifier.Recognition>();

        for (final Classifier.Recognition result : results) {
          final RectF location = result.getLocation();
          if (location != null && result.getConfidence() >= minimumConfidence) {
            canvas.drawRect(location, paint);

            cropToFrameTransform.mapRect(location);

            result.setLocation(location);
            mappedRecognitions.add(result);
          }
        }

        tracker.trackResults(mappedRecognitions, currTimestamp);
        trackingOverlay.postInvalidate();

        computingDetection = false;

        runOnUiThread(
            new Runnable() {
              @Override
              public void run() {
                showFrameInfo(previewWidth + "x" + previewHeight);
                showCropInfo(cropCopyBitmap.getWidth() + "x" + cropCopyBitmap.getHeight());
                showInference(lastProcessingTimeMs + "ms");
              }
            });
      }
    });
  }

Получение

незаконное исключение в этой строке -> детектор. RecognizeImage (croppedBitmap)

Пожалуйста, помогите мне запустить приложение с блоками обнаружения без каких-либо исключений

...