Move logging of FillOperandData to the time filling data (#9139)
author장지섭/On-Device Lab(SR)/Engineer/삼성전자 <jiseob.jang@samsung.com>
Fri, 22 Nov 2019 07:24:23 +0000 (16:24 +0900)
committer이한종/On-Device Lab(SR)/Engineer/삼성전자 <hanjoung.lee@samsung.com>
Fri, 22 Nov 2019 07:24:23 +0000 (16:24 +0900)
This commit moves logging of FillOperandData to the time filling data.

Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
runtime/neurun/backend/acl_cl/ConstantInitializer.cc
runtime/neurun/backend/acl_cl/ConstantInitializer.h
runtime/neurun/backend/acl_neon/ConstantInitializer.cc
runtime/neurun/backend/acl_neon/ConstantInitializer.h
runtime/neurun/backend/cpu/ConstantInitializer.cc
runtime/neurun/backend/cpu/ConstantInitializer.h
runtime/neurun/backend/srcn/ConstantInitializer.cc
runtime/neurun/backend/srcn/ConstantInitializer.h
runtime/neurun/core/include/backend/IConstantInitializer.h

index 217a039..84e821a 100644 (file)
@@ -30,21 +30,6 @@ ConstantInitializer::ConstantInitializer(const model::Operands &operands,
   // DO NOTHING
 }
 
-void ConstantInitializer::run()
-{
-  for (const auto &it : _init_map)
-  {
-    const auto &ind = it.first;
-    const auto &fn = it.second;
-
-    const auto &model_obj = _operands.at(ind);
-    auto tensor_obj = _tensor_builder->wrapTensor(ind);
-    fn(model_obj, *tensor_obj);
-  }
-
-  _init_map.clear();
-}
-
 void ConstantInitializer::visit(const model::operation::BatchToSpaceND &node)
 {
   const auto &block_size_index = node.getInputs().at(model::operation::BatchToSpaceND::BLOCK_SIZE);
index 64defda..59d7f38 100644 (file)
@@ -35,9 +35,6 @@ public:
                       const std::shared_ptr<TensorBuilder> &tensor_builder);
 
 public:
-  void run() override;
-
-public:
   void visit(const model::operation::BatchToSpaceND &) override;
   void visit(const model::operation::Conv2D &) override;
   void visit(const model::operation::DepthwiseConv2D &) override;
@@ -51,6 +48,10 @@ public:
   void visit(const model::operation::TransposeConv &) override;
 
 private:
+  const model::Operands &operands() const override { return _operands; }
+  std::shared_ptr<ITensorBuilder> tensor_builder() const override { return _tensor_builder; }
+
+private:
   const model::Operands &_operands;
   std::shared_ptr<TensorBuilder> _tensor_builder;
 };
index 1f85b2c..69fd332 100644 (file)
@@ -30,21 +30,6 @@ ConstantInitializer::ConstantInitializer(const model::Operands &operands,
   // DO NOTHING
 }
 
-void ConstantInitializer::run()
-{
-  for (const auto &it : _init_map)
-  {
-    const auto &ind = it.first;
-    const auto &fn = it.second;
-
-    const auto &model_obj = _operands.at(ind);
-    auto tensor_obj = _tensor_builder->wrapTensor(ind);
-    fn(model_obj, *tensor_obj);
-  }
-
-  _init_map.clear();
-}
-
 void ConstantInitializer::visit(const model::operation::BatchToSpaceND &node)
 {
   const auto &block_size_index = node.getInputs().at(model::operation::BatchToSpaceND::BLOCK_SIZE);
index 2c05584..6d04149 100644 (file)
@@ -35,9 +35,6 @@ public:
                       const std::shared_ptr<TensorBuilder> &tensor_builder);
 
 public:
-  void run() override;
-
-public:
   void visit(const model::operation::BatchToSpaceND &) override;
   void visit(const model::operation::Conv2D &) override;
   void visit(const model::operation::DepthwiseConv2D &) override;
@@ -48,6 +45,10 @@ public:
   void visit(const model::operation::TransposeConv &) override;
 
 private:
+  const model::Operands &operands() const override { return _operands; }
+  std::shared_ptr<ITensorBuilder> tensor_builder() const override { return _tensor_builder; }
+
+private:
   const model::Operands &_operands;
   std::shared_ptr<TensorBuilder> _tensor_builder;
 };
index 9fafe66..8d30ffe 100644 (file)
@@ -30,21 +30,6 @@ ConstantInitializer::ConstantInitializer(const model::Operands &operands,
   // DO NOTHING
 }
 
-void ConstantInitializer::run()
-{
-  for (const auto &it : _init_map)
-  {
-    const auto &ind = it.first;
-    const auto &fn = it.second;
-
-    const auto &model_obj = _operands.at(ind);
-    auto tensor_obj = _tensor_builder->wrapTensor(ind);
-    fn(model_obj, *tensor_obj);
-  }
-
-  _init_map.clear();
-}
-
 void ConstantInitializer::visit(const model::operation::Conv2D &node)
 {
   const auto &kernel_index = node.getInputs().at(model::operation::Conv2D::KERNEL);
index 1da4b39..9515dbf 100644 (file)
@@ -35,14 +35,15 @@ public:
                       const std::shared_ptr<TensorBuilder> &tensor_builder);
 
 public:
-  void run() override;
-
-public:
   void visit(const model::operation::Conv2D &) override;
   void visit(const model::operation::DepthwiseConv2D &) override;
   void visit(const model::operation::FullyConnected &) override;
 
 private:
+  const model::Operands &operands() const override { return _operands; }
+  std::shared_ptr<ITensorBuilder> tensor_builder() const override { return _tensor_builder; }
+
+private:
   const model::Operands &_operands;
   std::shared_ptr<TensorBuilder> _tensor_builder;
 };
index 2d7c801..d88c773 100644 (file)
@@ -88,21 +88,6 @@ ConstantInitializer::ConstantInitializer(const model::Operands &operands,
   // DO NOTHING
 }
 
-void ConstantInitializer::run()
-{
-  for (const auto &it : _init_map)
-  {
-    const auto &ind = it.first;
-    const auto &fn = it.second;
-
-    const auto &model_obj = _operands.at(ind);
-    auto tensor_obj = _tensor_builder->wrapTensor(ind);
-    fn(model_obj, *tensor_obj);
-  }
-
-  _init_map.clear();
-}
-
 void ConstantInitializer::registerPermuteKernelInitializer(const model::OperandIndex &index,
                                                            const model::Operand &obj,
                                                            const std::vector<int32_t> &permutation)
index 054e08a..18dfc6c 100644 (file)
@@ -36,9 +36,6 @@ public:
                       const std::shared_ptr<TensorBuilder> &tensor_builder);
 
 public:
-  void run() override;
-
-public:
   void registerPermuteKernelInitializer(const model::OperandIndex &index, const model::Operand &obj,
                                         const std::vector<int32_t> &permutation);
 
@@ -48,6 +45,10 @@ public:
   void visit(const model::operation::TransposeConv &) override;
 
 private:
+  const model::Operands &operands() const override { return _operands; }
+  std::shared_ptr<ITensorBuilder> tensor_builder() const override { return _tensor_builder; }
+
+private:
   const model::Operands &_operands;
   std::shared_ptr<TensorBuilder> _tensor_builder;
 };
index 1f31b44..feab84c 100644 (file)
@@ -159,7 +159,21 @@ public:
   virtual ~IConstantInitializer() = default;
 
 public:
-  virtual void run() = 0;
+  void run()
+  {
+    assert(tensor_builder().get());
+    for (const auto &it : _init_map)
+    {
+      const auto &ind = it.first;
+      const auto &fn = it.second;
+
+      const auto &model_obj = operands().at(ind);
+      auto tensor_obj = tensor_builder()->wrapTensor(ind);
+      fn(model_obj, *tensor_obj);
+      VERBOSE(FillOperandData) << "Fill data for operand " << ind.value() << std::endl;
+    }
+    _init_map.clear();
+  }
 
 public:
   using Initializer = std::function<void(const model::Operand &, backend::operand::IObject &)>;
@@ -188,6 +202,10 @@ protected:
 #undef OP
 
 protected:
+  virtual const model::Operands &operands() const = 0;
+  virtual std::shared_ptr<ITensorBuilder> tensor_builder() const = 0;
+
+protected:
   void registerCopyInitializer(const model::OperandIndex &index, const model::Operand &obj)
   {
     // For only CONSTANTS
@@ -195,8 +213,6 @@ protected:
     if (!obj.isConstant())
       return;
 
-    VERBOSE(FillOperandData) << "Fill data for operand " << index.value() << std::endl;
-
     const auto type = obj.typeInfo().type();
     using neurun::model::DataType;
 
@@ -229,8 +245,6 @@ protected:
     if (!obj.isConstant())
       return;
 
-    VERBOSE(FillOperandData) << "Fill data for operand " << index.value() << std::endl;
-
     const auto type = obj.typeInfo().type();
     using neurun::model::DataType;
     using namespace std::placeholders;