From 0fc7a337cf1beed24fb985d20b1a13a355ca1cc5 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: Thu, 11 Apr 2019 12:55:17 +0900 Subject: [PATCH] [moco] Introduce GraphBuilder (#3216) This will introduce GraphBuilder interface to build graph of operator nodes Signed-off-by: SaeHie Park --- contrib/moco/lib/frontend/tf/src/GraphBuilder.h | 43 +++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 contrib/moco/lib/frontend/tf/src/GraphBuilder.h diff --git a/contrib/moco/lib/frontend/tf/src/GraphBuilder.h b/contrib/moco/lib/frontend/tf/src/GraphBuilder.h new file mode 100644 index 0000000..c4c35d6 --- /dev/null +++ b/contrib/moco/lib/frontend/tf/src/GraphBuilder.h @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2019 Samsung Electronics Co., Ltd. All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __GRAPH_BUILDER_H__ +#define __GRAPH_BUILDER_H__ + +#include "GraphBuilderContext.h" + +#include + +namespace moco +{ +namespace tf +{ + +/** + * @brief Parent class of TF operation graph builders (e.g., Conv2DGraphBuilder) + */ +class GraphBuilder +{ +public: + virtual bool validate(const tensorflow::NodeDef &) const = 0; + virtual void build(const tensorflow::NodeDef &, GraphBuilderContext *) const = 0; + virtual ~GraphBuilder() {} +}; + +} // namespace tf +} // namespace moco + +#endif // __GRAPH_BUILDER_H__ -- 2.7.4