[tflite_run] Relocate image loading step (#1180)
author이한종/동작제어Lab(SR)/Engineer/삼성전자 <hanjoung.lee@samsung.com>
Fri, 11 May 2018 06:12:40 +0000 (15:12 +0900)
committer서상민/동작제어Lab(SR)/Senior Engineer/삼성전자 <sangmin7.seo@samsung.com>
Fri, 11 May 2018 06:12:40 +0000 (15:12 +0900)
Relocate image loading step to be more natural code flow.

- AssignTensor should be after generating BinImagge
- BinImage is not used after reading
- BinImage is unused in the lambda function (from `measure`)

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
tools/tflite_run/src/tflite_run.cc

index cb8300c..fc9ed4a 100644 (file)
@@ -114,14 +114,18 @@ int main(const int argc, char **argv)
   TFLiteRun::Args args(argc, argv);
 
   auto model = FlatBufferModel::BuildFromFile(args.getTFLiteFilename().c_str(), &error_reporter);
-  BinImage image(299, 299, 3);
+  std::unique_ptr<Interpreter> interpreter;
 
   if (args.getInputFilename().size() > 0)
   {
+    BinImage image(299, 299, 3);
     image.loadImage(args.getInputFilename());
-  }
 
-  std::unique_ptr<Interpreter> interpreter;
+    for (const auto &o : interpreter->inputs())
+    {
+      image.AssignTensor(interpreter->tensor(o));
+    }
+  }
 
   TfLiteStatus status = kTfLiteError;
 
@@ -164,12 +168,7 @@ int main(const int argc, char **argv)
   }
   std::cout << "]" << std::endl;
 
-  for (const auto &o : interpreter->inputs())
-  {
-    image.AssignTensor(interpreter->tensor(o));
-  }
-
-  t_invoke.measure() << [&status, &interpreter, &image](void) {
+  t_invoke.measure() << [&status, &interpreter](void) {
     status = interpreter->Invoke();
     assert(status == kTfLiteOk);
   };