diff options
author | 2017-02-01 11:34:02 -0800 | |
---|---|---|
committer | 2017-02-01 11:47:14 -0800 | |
commit | 0eb6d8ff445922e8eb585534e3fb1deb927e011e (patch) | |
tree | ec5010fcd39f21fd9c6cc7f99360dd05b0142127 | |
parent | 760e7a07fd659994d6fa200a1b8c152908d69125 (diff) |
Android: fix issue where mismatch between Inception output size and inception num classes could cause demo app to crash (due to recent CHECK added in inference interface).
Change: 146268764
-rw-r--r-- | tensorflow/examples/android/src/org/tensorflow/demo/ClassifierActivity.java | 4 | ||||
-rw-r--r-- | tensorflow/examples/android/src/org/tensorflow/demo/TensorFlowImageClassifier.java | 6 |
2 files changed, 7 insertions, 3 deletions
diff --git a/tensorflow/examples/android/src/org/tensorflow/demo/ClassifierActivity.java b/tensorflow/examples/android/src/org/tensorflow/demo/ClassifierActivity.java index 387bd3f8fa..aa46c0c346 100644 --- a/tensorflow/examples/android/src/org/tensorflow/demo/ClassifierActivity.java +++ b/tensorflow/examples/android/src/org/tensorflow/demo/ClassifierActivity.java @@ -58,7 +58,9 @@ public class ClassifierActivity extends CameraActivity implements OnImageAvailab // --input_node_names="Mul" \ // --output_node_names="final_result" \ // --input_binary=true - private static final int NUM_CLASSES = 1001; + // + // Note: the actual number of classes for Inception is 1001, but the output layer size is 1008. + private static final int NUM_CLASSES = 1008; private static final int INPUT_SIZE = 224; private static final int IMAGE_MEAN = 117; private static final float IMAGE_STD = 1; diff --git a/tensorflow/examples/android/src/org/tensorflow/demo/TensorFlowImageClassifier.java b/tensorflow/examples/android/src/org/tensorflow/demo/TensorFlowImageClassifier.java index d1f69e8cc3..ff77696792 100644 --- a/tensorflow/examples/android/src/org/tensorflow/demo/TensorFlowImageClassifier.java +++ b/tensorflow/examples/android/src/org/tensorflow/demo/TensorFlowImageClassifier.java @@ -99,7 +99,8 @@ public class TensorFlowImageClassifier implements Classifier { c.labels.add(line); } br.close(); - Log.i(TAG, "Read " + c.labels.size() + ", " + numClasses + " specified"); + Log.i(TAG, "Read " + c.labels.size() + " labels, " + numClasses + + " output layer size specified"); c.inputSize = inputSize; c.imageMean = imageMean; @@ -167,7 +168,8 @@ public class TensorFlowImageClassifier implements Classifier { }); for (int i = 0; i < outputs.length; ++i) { if (outputs[i] > THRESHOLD) { - pq.add(new Recognition("" + i, labels.get(i), outputs[i], null)); + pq.add(new Recognition("" + i, + labels.size() > i ? labels.get(i) : "unknown", outputs[i], null)); } } final ArrayList<Recognition> recognitions = new ArrayList<Recognition>(); |