This commit moves logging of FillOperandData to the time filling data.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
// 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);
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;
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;
};
// 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);
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;
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;
};
// 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);
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;
};
// 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)
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);
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;
};
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 &)>;
#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
if (!obj.isConstant())
return;
- VERBOSE(FillOperandData) << "Fill data for operand " << index.value() << std::endl;
-
const auto type = obj.typeInfo().type();
using neurun::model::DataType;
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;