[interpreter] Updated export_to usage with LayerNode
authorParichay Kapoor <pk.kapoor@samsung.com>
Thu, 10 Jun 2021 08:43:56 +0000 (17:43 +0900)
committerJijoong Moon <jijoong.moon@samsung.com>
Fri, 11 Jun 2021 05:40:44 +0000 (14:40 +0900)
Updated export_to function usage based on LayerNode

**Self evaluation:**
1. Build test: [x]Passed [ ]Failed [ ]Skipped
2. Run test: [x]Passed [ ]Failed [ ]Skipped

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
nntrainer/compiler/ini_interpreter.cpp
nntrainer/compiler/tflite_interpreter.cpp
nntrainer/graph/network_graph.cpp
nntrainer/layers/layer_node.h
nntrainer/utils/node_exporter.cpp
nntrainer/utils/node_exporter.h

index 1c29786..0c37db0 100644 (file)
@@ -261,13 +261,12 @@ void IniGraphInterpreter::serialize(
   for (auto iter = representation->cbegin(); iter != representation->cend();
        iter++) {
     const auto &ln = *iter;
-    const auto &layer = ln->getObject();
 
-    IniSection s(layer->getName());
-    s.setEntry("type", layer->getType());
+    IniSection s(ln->getName());
+    s.setEntry("type", ln->getType());
 
     Exporter e;
-    layer->export_to(e);
+    ln->export_to(e);
 
     const auto key_val_pairs =
       e.getResult<ExportMethods::METHOD_STRINGVECTOR>();
index c582a9a..de4c766 100644 (file)
@@ -246,7 +246,7 @@ buildOpNodes(std::shared_ptr<const GraphRepresentation> representation) {
        iter++) {
     const auto &ln = *iter;
     Exporter e;
-    ln->getObject()->export_to(e, ExportMethods::METHOD_TFLITE);
+    ln->export_to(e, ExportMethods::METHOD_TFLITE);
 
     nodes.emplace_back(e.getResult<ExportMethods::METHOD_TFLITE>());
   }
index 8e44353..fa7d100 100644 (file)
@@ -333,7 +333,6 @@ void NetworkGraph::setOutputLayers() {
       if (layer_idx->getNumOutputs() == 0) {
         /** No output layer inplies its the last layer */
         layer_idx->setOutputLayers({"__exit__"});
-        ;
         last_layer_count += 1;
       } else {
         /** error for any other layer */
index 2efd58e..99f02d5 100644 (file)
@@ -255,6 +255,7 @@ public:
   export_to(Exporter &exporter,
             ExportMethods method = ExportMethods::METHOD_STRINGVECTOR) const {
     exporter.saveResult(props, method, this);
+    layer->export_to(exporter, method);
   };
 
 #ifdef PROFILE
index b3a38fb..b7b2fa3 100644 (file)
@@ -52,8 +52,7 @@ void Exporter::saveTflResult(const std::tuple<props::Name> &props,
 }
 
 template <>
-void Exporter::saveTflResult(const std::tuple<props::Name> &props,
-                             const LayerNode *self) {
+void Exporter::saveTflResult(const std::tuple<> &props, const LayerNode *self) {
   createIfNull(tf_node);
   tf_node->setInOut(*self);
   tf_node->setInputs(self->getObject()->getInputRef());
index a0c5d40..0b39755 100644 (file)
@@ -207,7 +207,6 @@ class Layer;
 /**
  * @copydoc template <typename PropsType, typename NodeType> void
  * Exporter::saveTflResult(const PropsType &props, const NodeType *self);
- * @todo remove this when layer is refactored
  */
 template <>
 void Exporter::saveTflResult(const std::tuple<props::Name> &props,
@@ -219,8 +218,7 @@ class LayerNode;
  * Exporter::saveTflResult(const PropsType &props, const NodeType *self);
  */
 template <>
-void Exporter::saveTflResult(const std::tuple<props::Name> &props,
-                             const LayerNode *self);
+void Exporter::saveTflResult(const std::tuple<> &props, const LayerNode *self);
 
 class FullyConnectedLayer;
 /**