From 58a60d85e596d4bd546ca17affa0468502415c53 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=EC=9E=A5=EC=A7=80=EC=84=AD/On-Device=20Lab=28SR=29/Enginee?= =?utf8?q?r/=EC=82=BC=EC=84=B1=EC=A0=84=EC=9E=90?= Date: Fri, 22 Nov 2019 16:24:23 +0900 Subject: [PATCH] Move logging of FillOperandData to the time filling data (#9139) This commit moves logging of FillOperandData to the time filling data. Signed-off-by: jiseob.jang --- .../neurun/backend/acl_cl/ConstantInitializer.cc | 15 -------------- .../neurun/backend/acl_cl/ConstantInitializer.h | 7 ++++--- .../neurun/backend/acl_neon/ConstantInitializer.cc | 15 -------------- .../neurun/backend/acl_neon/ConstantInitializer.h | 7 ++++--- runtime/neurun/backend/cpu/ConstantInitializer.cc | 15 -------------- runtime/neurun/backend/cpu/ConstantInitializer.h | 7 ++++--- runtime/neurun/backend/srcn/ConstantInitializer.cc | 15 -------------- runtime/neurun/backend/srcn/ConstantInitializer.h | 7 ++++--- .../core/include/backend/IConstantInitializer.h | 24 +++++++++++++++++----- 9 files changed, 35 insertions(+), 77 deletions(-) diff --git a/runtime/neurun/backend/acl_cl/ConstantInitializer.cc b/runtime/neurun/backend/acl_cl/ConstantInitializer.cc index 217a039..84e821a 100644 --- a/runtime/neurun/backend/acl_cl/ConstantInitializer.cc +++ b/runtime/neurun/backend/acl_cl/ConstantInitializer.cc @@ -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); diff --git a/runtime/neurun/backend/acl_cl/ConstantInitializer.h b/runtime/neurun/backend/acl_cl/ConstantInitializer.h index 64defda..59d7f38 100644 --- a/runtime/neurun/backend/acl_cl/ConstantInitializer.h +++ b/runtime/neurun/backend/acl_cl/ConstantInitializer.h @@ -35,9 +35,6 @@ public: const std::shared_ptr &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 tensor_builder() const override { return _tensor_builder; } + +private: const model::Operands &_operands; std::shared_ptr _tensor_builder; }; diff --git a/runtime/neurun/backend/acl_neon/ConstantInitializer.cc b/runtime/neurun/backend/acl_neon/ConstantInitializer.cc index 1f85b2c..69fd332 100644 --- a/runtime/neurun/backend/acl_neon/ConstantInitializer.cc +++ b/runtime/neurun/backend/acl_neon/ConstantInitializer.cc @@ -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); diff --git a/runtime/neurun/backend/acl_neon/ConstantInitializer.h b/runtime/neurun/backend/acl_neon/ConstantInitializer.h index 2c05584..6d04149 100644 --- a/runtime/neurun/backend/acl_neon/ConstantInitializer.h +++ b/runtime/neurun/backend/acl_neon/ConstantInitializer.h @@ -35,9 +35,6 @@ public: const std::shared_ptr &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 tensor_builder() const override { return _tensor_builder; } + +private: const model::Operands &_operands; std::shared_ptr _tensor_builder; }; diff --git a/runtime/neurun/backend/cpu/ConstantInitializer.cc b/runtime/neurun/backend/cpu/ConstantInitializer.cc index 9fafe66..8d30ffe 100644 --- a/runtime/neurun/backend/cpu/ConstantInitializer.cc +++ b/runtime/neurun/backend/cpu/ConstantInitializer.cc @@ -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); diff --git a/runtime/neurun/backend/cpu/ConstantInitializer.h b/runtime/neurun/backend/cpu/ConstantInitializer.h index 1da4b39..9515dbf 100644 --- a/runtime/neurun/backend/cpu/ConstantInitializer.h +++ b/runtime/neurun/backend/cpu/ConstantInitializer.h @@ -35,14 +35,15 @@ public: const std::shared_ptr &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 tensor_builder() const override { return _tensor_builder; } + +private: const model::Operands &_operands; std::shared_ptr _tensor_builder; }; diff --git a/runtime/neurun/backend/srcn/ConstantInitializer.cc b/runtime/neurun/backend/srcn/ConstantInitializer.cc index 2d7c801..d88c773 100644 --- a/runtime/neurun/backend/srcn/ConstantInitializer.cc +++ b/runtime/neurun/backend/srcn/ConstantInitializer.cc @@ -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 &permutation) diff --git a/runtime/neurun/backend/srcn/ConstantInitializer.h b/runtime/neurun/backend/srcn/ConstantInitializer.h index 054e08a..18dfc6c 100644 --- a/runtime/neurun/backend/srcn/ConstantInitializer.h +++ b/runtime/neurun/backend/srcn/ConstantInitializer.h @@ -36,9 +36,6 @@ public: const std::shared_ptr &tensor_builder); public: - void run() override; - -public: void registerPermuteKernelInitializer(const model::OperandIndex &index, const model::Operand &obj, const std::vector &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 tensor_builder() const override { return _tensor_builder; } + +private: const model::Operands &_operands; std::shared_ptr _tensor_builder; }; diff --git a/runtime/neurun/core/include/backend/IConstantInitializer.h b/runtime/neurun/core/include/backend/IConstantInitializer.h index 1f31b44..feab84c 100644 --- a/runtime/neurun/core/include/backend/IConstantInitializer.h +++ b/runtime/neurun/core/include/backend/IConstantInitializer.h @@ -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; @@ -188,6 +202,10 @@ protected: #undef OP protected: + virtual const model::Operands &operands() const = 0; + virtual std::shared_ptr 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; -- 2.7.4