java.lang.IllegalArgumentException:输出张量索引无效:1

时间:2019-10-22 06:24:07

标签: android tensorflow object-detection

我已经下载了tensorflow Object detection 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");
              }
            });
      }
    });
  }

获取

  此行中的

非法异常-> detector.recognizeImage(croppedBitmap)

请帮助我运行带有检测框的应用程序

0 个答案:

没有答案