From f18a4d0037c87d431f53e5ba45abb59bc39cee76 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=EB=B0=95=EC=84=B8=ED=9D=AC/On-Device=20Lab=28SR=29/Princip?= =?utf8?q?al=20Engineer/=EC=82=BC=EC=84=B1=EC=A0=84=EC=9E=90?= Date: Tue, 16 Apr 2019 10:45:25 +0900 Subject: [PATCH] [moco] Introduce ModelSignature (#3264) This will separate input and outputs of Frontend to ModelSignature Signed-off-by: SaeHie Park --- .../lib/frontend/tf/include/moco/tf/Frontend.h | 24 ++++++++++++++-------- contrib/moco/lib/frontend/tf/src/Frontend.cpp | 3 ++- contrib/moco/lib/frontend/tf/src/Frontend.test.cpp | 7 +++++-- 3 files changed, 22 insertions(+), 12 deletions(-) diff --git a/contrib/moco/lib/frontend/tf/include/moco/tf/Frontend.h b/contrib/moco/lib/frontend/tf/include/moco/tf/Frontend.h index e39b132..f9495fa 100644 --- a/contrib/moco/lib/frontend/tf/include/moco/tf/Frontend.h +++ b/contrib/moco/lib/frontend/tf/include/moco/tf/Frontend.h @@ -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 &inputs() const { return _inputs; } + const std::vector &outputs() const { return _outputs; } + +private: + std::vector _inputs; // graph inputs + std::vector _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 load(const char *, FileType) const; - -private: - std::vector _inputs; // graph inputs - std::vector _outputs; // graph outputs + std::unique_ptr load(const ModelSignature &, const char *, FileType) const; }; } // namespace tf diff --git a/contrib/moco/lib/frontend/tf/src/Frontend.cpp b/contrib/moco/lib/frontend/tf/src/Frontend.cpp index 02d12b0..1816414 100644 --- a/contrib/moco/lib/frontend/tf/src/Frontend.cpp +++ b/contrib/moco/lib/frontend/tf/src/Frontend.cpp @@ -85,7 +85,8 @@ Frontend::Frontend() // DO NOTHING } -std::unique_ptr Frontend::load(const char *modelfile, FileType type) const +std::unique_ptr Frontend::load(const ModelSignature &signature, const char *modelfile, + FileType type) const { tensorflow::GraphDef tf_graph_def; diff --git a/contrib/moco/lib/frontend/tf/src/Frontend.test.cpp b/contrib/moco/lib/frontend/tf/src/Frontend.test.cpp index ac5db20..9eec957 100644 --- a/contrib/moco/lib/frontend/tf/src/Frontend.test.cpp +++ b/contrib/moco/lib/frontend/tf/src/Frontend.test.cpp @@ -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); } -- 2.7.4