[neurun] Replace IObject with ITensor in ConstantInitializer (#9336)
authorSergei Barannikov/AI Tools Lab /SRR/Engineer/Samsung Electronics <s.barannikov@samsung.com>
Tue, 3 Dec 2019 04:17:21 +0000 (07:17 +0300)
committer이한종/On-Device Lab(SR)/Engineer/삼성전자 <hanjoung.lee@samsung.com>
Tue, 3 Dec 2019 04:17:21 +0000 (13:17 +0900)
Replace uses of `IObject` with `ITensor` in `ConstantInitializer`.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
runtime/neurun/backend/acl_cl/ConstantInitializer.cc
runtime/neurun/backend/acl_neon/ConstantInitializer.cc
runtime/neurun/backend/srcn/ConstantInitializer.cc
runtime/neurun/core/include/backend/IConstantInitializer.h

index 84e821a..52621f2 100644 (file)
@@ -38,7 +38,7 @@ void ConstantInitializer::visit(const model::operation::BatchToSpaceND &node)
   if (block_size_obj.isConstant())
   {
     _init_map[block_size_index] = [](const model::Operand &model_obj,
-                                     backend::operand::IObject &obj) {
+                                     backend::operand::ITensor &obj) {
       const auto &shape = model_obj.shape();
       const auto base = reinterpret_cast<const int32_t *>(model_obj.data().base());
       assert(model_obj.shape().rank() == 1);
@@ -218,7 +218,7 @@ void ConstantInitializer::visit(const model::operation::SpaceToBatchND &node)
   if (block_size_obj.isConstant())
   {
     _init_map[block_size_index] = [](const model::Operand &model_obj,
-                                     backend::operand::IObject &obj) {
+                                     backend::operand::ITensor &obj) {
       const auto &shape = model_obj.shape();
       const auto base = reinterpret_cast<const int32_t *>(model_obj.data().base());
       assert(model_obj.shape().rank() == 1);
@@ -239,11 +239,11 @@ void ConstantInitializer::visit(const model::operation::SpaceToBatchND &node)
   if (paddings_obj.isConstant())
   {
     _init_map[paddings_index] = [](const model::Operand &model_obj,
-                                   backend::operand::IObject &obj) {
+                                   backend::operand::ITensor &obj) {
       const auto &shape = model_obj.shape();
       const auto base = reinterpret_cast<const int32_t *>(model_obj.data().base());
       assert(model_obj.shape().rank() == 2);
-      assert(obj.ptr()->dimension(0) == 2);
+      assert(obj.dimension(0) == 2);
       obj.access([&](::neurun::backend::operand::ITensor &tensor) {
         for (auto i = 0; i < shape.dim(0); ++i)
         {
index 69fd332..33d12b4 100644 (file)
@@ -38,7 +38,7 @@ void ConstantInitializer::visit(const model::operation::BatchToSpaceND &node)
   if (block_size_obj.isConstant())
   {
     _init_map[block_size_index] = [](const model::Operand &model_obj,
-                                     backend::operand::IObject &obj) {
+                                     backend::operand::ITensor &obj) {
       const auto &shape = model_obj.shape();
       const auto base = reinterpret_cast<const int32_t *>(model_obj.data().base());
       assert(model_obj.shape().rank() == 1);
@@ -193,7 +193,7 @@ void ConstantInitializer::visit(const model::operation::SpaceToBatchND &node)
   if (block_size_obj.isConstant())
   {
     _init_map[block_size_index] = [](const model::Operand &model_obj,
-                                     backend::operand::IObject &obj) {
+                                     backend::operand::ITensor &obj) {
       const auto &shape = model_obj.shape();
       const auto base = reinterpret_cast<const int32_t *>(model_obj.data().base());
       assert(model_obj.shape().rank() == 1);
@@ -214,7 +214,7 @@ void ConstantInitializer::visit(const model::operation::SpaceToBatchND &node)
   if (paddings_obj.isConstant())
   {
     _init_map[paddings_index] = [](const model::Operand &model_obj,
-                                   backend::operand::IObject &obj) {
+                                   backend::operand::ITensor &obj) {
       const auto &shape = model_obj.shape();
       const auto base = reinterpret_cast<const int32_t *>(model_obj.data().base());
       assert(model_obj.shape().rank() == 2);
index d88c773..b97342c 100644 (file)
@@ -23,7 +23,7 @@ namespace
 
 template <typename T>
 static void PermuteKernel(const neurun::model::Operand &model_obj,
-                          neurun::backend::operand::IObject &obj,
+                          neurun::backend::operand::ITensor &obj,
                           const std::vector<int32_t> &permutation)
 {
   const auto shape = model_obj.shape();
index 15d0934..736ce6e 100644 (file)
@@ -32,7 +32,7 @@
 namespace
 {
 template <typename T>
-static void Init(const neurun::model::Operand &model_obj, neurun::backend::operand::IObject &obj,
+static void Init(const neurun::model::Operand &model_obj, neurun::backend::operand::ITensor &obj,
                  const bool copy,
                  const neurun::model::Layout frontend_layout = neurun::model::Layout::UNKNOWN)
 {
@@ -134,16 +134,16 @@ static void Init(const neurun::model::Operand &model_obj, neurun::backend::opera
 }
 
 template <typename T>
-void copyInit(const neurun::model::Operand &model_obj, neurun::backend::operand::IObject &obj)
+void copyInit(const neurun::model::Operand &model_obj, neurun::backend::operand::ITensor &obj)
 {
   Init<T>(model_obj, obj, true);
 }
 
 template <typename T>
-void permuteInit(const neurun::model::Operand &model_obj, neurun::backend::operand::IObject &obj,
+void permuteInit(const neurun::model::Operand &model_obj, neurun::backend::operand::ITensor &obj,
                  const neurun::model::Layout frontend_layout)
 {
-  const bool copy = frontend_layout == obj.ptr()->layout();
+  const bool copy = frontend_layout == obj.layout();
   Init<T>(model_obj, obj, copy, frontend_layout);
 }
 
@@ -169,7 +169,7 @@ public:
       const auto &fn = it.second;
 
       const auto &model_obj = operands().at(ind);
-      auto tensor_obj = tensor_builder()->wrapTensor(ind);
+      auto tensor_obj = tensor_builder()->tensorAt(ind);
       fn(model_obj, *tensor_obj);
       VERBOSE(FillOperandData) << "Fill data for operand " << ind.value() << std::endl;
     }
@@ -177,7 +177,7 @@ public:
   }
 
 public:
-  using Initializer = std::function<void(const model::Operand &, backend::operand::IObject &)>;
+  using Initializer = std::function<void(const model::Operand &, backend::operand::ITensor &)>;
 
   void generate(const model::Subgraph &subg, const model::Operands &operands)
   {