If inference fails - exit before printing results.
It was easy to miss error message and mistakenly assume that execution succeeded.
Signed-off-by: alexander <alexander.efremov@arm.com>
Change-Id: I3c7beb5afe97db5df486e12e3bfe0e8e27e382f8
diff --git a/source/use_case/ad/src/UseCaseHandler.cc b/source/use_case/ad/src/UseCaseHandler.cc
index 8f86966..e99821f 100644
--- a/source/use_case/ad/src/UseCaseHandler.cc
+++ b/source/use_case/ad/src/UseCaseHandler.cc
@@ -194,7 +194,9 @@
audioDataSlider.TotalStrides() + 1);
/* Run inference over this audio clip sliding window */
- arm::app::RunInference(model, profiler);
+ if (!RunInference(model, profiler)) {
+ return false;
+ }
/* Use the negative softmax score of the corresponding index as the outlier score */
std::vector<float> dequantOutput = Dequantize<int8_t>(outputTensor);
diff --git a/source/use_case/asr/src/UseCaseHandler.cc b/source/use_case/asr/src/UseCaseHandler.cc
index efaefc2..7199785 100644
--- a/source/use_case/asr/src/UseCaseHandler.cc
+++ b/source/use_case/asr/src/UseCaseHandler.cc
@@ -174,7 +174,9 @@
prep.Invoke(inferenceWindow, inferenceWindowLen, inputTensor);
/* Run inference over this audio clip sliding window. */
- arm::app::RunInference(model, profiler);
+ if (!RunInference(model, profiler)) {
+ return false;
+ }
/* Post-process. */
postp.Invoke(outputTensor, reductionAxis, !audioDataSlider.HasNext());
diff --git a/source/use_case/img_class/src/UseCaseHandler.cc b/source/use_case/img_class/src/UseCaseHandler.cc
index ffeb860..22e6ba0 100644
--- a/source/use_case/img_class/src/UseCaseHandler.cc
+++ b/source/use_case/img_class/src/UseCaseHandler.cc
@@ -145,7 +145,9 @@
info("Running inference on image %u => %s\n", ctx.Get<uint32_t>("imgIndex"),
get_filename(ctx.Get<uint32_t>("imgIndex")));
- RunInference(model, profiler);
+ if (!RunInference(model, profiler)) {
+ return false;
+ }
/* Erase. */
str_inf = std::string(str_inf.size(), ' ');
diff --git a/source/use_case/inference_runner/src/UseCaseHandler.cc b/source/use_case/inference_runner/src/UseCaseHandler.cc
index a2b3fb7..a75b2e4 100644
--- a/source/use_case/inference_runner/src/UseCaseHandler.cc
+++ b/source/use_case/inference_runner/src/UseCaseHandler.cc
@@ -68,7 +68,9 @@
str_inf.c_str(), str_inf.size(),
dataPsnTxtInfStartX, dataPsnTxtInfStartY, 0);
- RunInference(model, profiler);
+ if (!RunInference(model, profiler)) {
+ return false;
+ }
/* Erase. */
str_inf = std::string(str_inf.size(), ' ');
diff --git a/source/use_case/kws/src/UseCaseHandler.cc b/source/use_case/kws/src/UseCaseHandler.cc
index 4011df6..d61985d 100644
--- a/source/use_case/kws/src/UseCaseHandler.cc
+++ b/source/use_case/kws/src/UseCaseHandler.cc
@@ -216,7 +216,9 @@
audioDataSlider.TotalStrides() + 1);
/* Run inference over this audio clip sliding window. */
- arm::app::RunInference(model, profiler);
+ if (!RunInference(model, profiler)) {
+ return false;
+ }
std::vector<ClassificationResult> classificationResult;
auto& classifier = ctx.Get<KwsClassifier&>("classifier");
diff --git a/source/use_case/kws_asr/src/UseCaseHandler.cc b/source/use_case/kws_asr/src/UseCaseHandler.cc
index 1edc7c4..7025d6d 100644
--- a/source/use_case/kws_asr/src/UseCaseHandler.cc
+++ b/source/use_case/kws_asr/src/UseCaseHandler.cc
@@ -238,7 +238,10 @@
audioDataSlider.TotalStrides() + 1);
/* Run inference over this audio clip sliding window. */
- arm::app::RunInference(kwsModel, profiler);
+ if (!RunInference(kwsModel, profiler)) {
+ printf_err("KWS inference failed\n");
+ return output;
+ }
std::vector<ClassificationResult> kwsClassificationResult;
auto& kwsClassifier = ctx.Get<KwsClassifier&>("kwsclassifier");
@@ -391,7 +394,10 @@
asrPrep.Invoke(asrInferenceWindow, asrInferenceWindowLen, asrInputTensor);
/* Run inference over this audio clip sliding window. */
- arm::app::RunInference(asrModel, profiler);
+ if (!RunInference(asrModel, profiler)) {
+ printf_err("ASR inference failed\n");
+ return false;
+ }
/* Post-process. */
asrPostp.Invoke(asrOutputTensor, reductionAxis, !audioDataSlider.HasNext());