[moco] Introduce ModelSignature (#3264)
author박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 <saehie.park@samsung.com>
Tue, 16 Apr 2019 01:45:25 +0000 (10:45 +0900)
committerGitHub Enterprise <noreply-CODE@samsung.com>
Tue, 16 Apr 2019 01:45:25 +0000 (10:45 +0900)
This will separate input and outputs of Frontend to ModelSignature

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
contrib/moco/lib/frontend/tf/include/moco/tf/Frontend.h
contrib/moco/lib/frontend/tf/src/Frontend.cpp
contrib/moco/lib/frontend/tf/src/Frontend.test.cpp

index e39b132..f9495fa 100644 (file)
@@ -28,6 +28,20 @@ namespace moco
 namespace tf
 {
 
+struct ModelSignature
+{
+public:
+  void add_input(const std::string &input) { _inputs.push_back(input); }
+  void add_output(const std::string &output) { _outputs.push_back(output); }
+
+  const std::vector<std::string> &inputs() const { return _inputs; }
+  const std::vector<std::string> &outputs() const { return _outputs; }
+
+private:
+  std::vector<std::string> _inputs;  // graph inputs
+  std::vector<std::string> _outputs; // graph outputs
+};
+
 class Frontend
 {
 public:
@@ -41,15 +55,7 @@ public:
   Frontend();
 
 public:
-  void add_input(const std::string &input) { _inputs.push_back(input); }
-  void add_output(const std::string &output) { _outputs.push_back(output); }
-
-public:
-  std::unique_ptr<loco::Graph> load(const char *, FileType) const;
-
-private:
-  std::vector<std::string> _inputs;  // graph inputs
-  std::vector<std::string> _outputs; // graph outputs
+  std::unique_ptr<loco::Graph> load(const ModelSignature &, const char *, FileType) const;
 };
 
 } // namespace tf
index 02d12b0..1816414 100644 (file)
@@ -85,7 +85,8 @@ Frontend::Frontend()
   // DO NOTHING
 }
 
-std::unique_ptr<loco::Graph> Frontend::load(const char *modelfile, FileType type) const
+std::unique_ptr<loco::Graph> Frontend::load(const ModelSignature &signature, const char *modelfile,
+                                            FileType type) const
 {
   tensorflow::GraphDef tf_graph_def;
 
index ac5db20..9eec957 100644 (file)
@@ -23,8 +23,11 @@ TEST(MocoTensotFlowFrontendTest, Dummy) { moco::tf::Frontend frontend; }
 TEST(TensorFlowFrontend, load_model)
 {
   moco::tf::Frontend frontend;
+  moco::tf::ModelSignature signature;
 
   // TODO fix not to use "../../.."
-  frontend.load("../../../test/tf/Placeholder_000.pbtxt", moco::tf::Frontend::FileType::Text);
-  frontend.load("../../../test/tf/Placeholder_000.pb", moco::tf::Frontend::FileType::Binary);
+  frontend.load(signature, "../../../test/tf/Placeholder_000.pbtxt",
+                moco::tf::Frontend::FileType::Text);
+  frontend.load(signature, "../../../test/tf/Placeholder_000.pb",
+                moco::tf::Frontend::FileType::Binary);
 }