Replace `OperandIndex` in `DepthToSpace::Param` and `SpaceToDepth::Param` with `int32_t`.
Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
{
const auto ofm_index{node.getOutputs().at(0)};
const auto ifm_index{node.getInputs().at(model::operation::SpaceToDepth::Input::INPUT)};
- const auto block_size_index{node.param().block_size_index};
- auto block_size = _ctx.at(block_size_index).asScalar<int32_t>();
+ auto block_size = node.param().block_size;
auto ofm_alloc = _tensor_builder->at(ofm_index).get();
auto ifm_alloc = _tensor_builder->at(ifm_index).get();
{
const auto output_index{node.getOutputs().at(0)};
const auto input_index{node.getInputs().at(model::operation::DepthToSpace::Input::INPUT)};
- const auto block_size_index{node.param().block_size_index};
- auto block_size = _ctx.at(block_size_index).asScalar<int32_t>();
+ auto block_size = node.param().block_size;
assert(block_size > 0);
auto output_alloc = _tensor_builder->at(output_index).get();
{
const auto output_index{node.getOutputs().at(0)};
const auto input_index{node.getInputs().at(model::operation::DepthToSpace::Input::INPUT)};
- const auto block_size_index{node.param().block_size_index};
- auto block_size = _ctx.at(block_size_index).asScalar<int32_t>();
+ auto block_size = node.param().block_size;
assert(block_size > 0);
auto output_alloc = _tensor_builder->at(output_index).get();
{
const auto ofm_index{node.getOutputs().at(0)};
const auto ifm_index{node.getInputs().at(model::operation::SpaceToDepth::Input::INPUT)};
- const auto block_size_index{node.param().block_size_index};
- auto block_size = _ctx.at(block_size_index).asScalar<int32_t>();
+ auto block_size = node.param().block_size;
auto ofm_alloc = _tensor_builder->at(ofm_index).get();
auto ifm_alloc = _tensor_builder->at(ifm_index).get();
struct Param
{
- OperandIndex block_size_index;
+ std::int32_t block_size;
};
public:
struct Param
{
- OperandIndex block_size_index;
+ std::int32_t block_size;
};
public:
{
const auto ofm_index{node.getOutputs().at(0)};
const auto ifm_index{node.getInputs().at(model::operation::SpaceToDepth::Input::INPUT)};
- const auto block_size_index{node.param().block_size_index};
const auto frontend_layout = _current_subg_layout;
const auto input_shape = _ctx.at(ifm_index).shape().asFeature(frontend_layout);
const auto output_shape = _ctx.at(ofm_index).shape().asFeature(frontend_layout);
- const auto block_size = _ctx.at(block_size_index).asScalar<int32_t>();
+ const auto block_size = node.param().block_size;
UNUSED_RELEASE(input_shape);
UNUSED_RELEASE(output_shape);
{
const auto output_index{node.getOutputs().at(0)};
const auto input_index{node.getInputs().at(model::operation::DepthToSpace::Input::INPUT)};
- const auto block_size_index{node.param().block_size_index};
const auto frontend_layout = _current_subg_layout;
const auto output_shape = _ctx.at(output_index).shape().asFeature(frontend_layout);
assert(_ctx.at(input_index).shape().rank() == 4);
assert(_ctx.at(output_index).shape().rank() == 4);
- int32_t block_size = _ctx.at(block_size_index).asScalar<int32_t>();
+ int32_t block_size = node.param().block_size;
UNUSED_RELEASE(block_size);
};
_map[ANEURALNETWORKS_SPACE_TO_DEPTH] = [](const OperationFactory::Param &init_param,
- neurun::model::Operands &) {
+ neurun::model::Operands &operands) {
assert(init_param.input_count == 2 && init_param.output_count == 1);
OperandIndexSequence outputs{init_param.outputs[0]};
OperandIndexSequence inputs{init_param.inputs[0]};
operation::SpaceToDepth::Param param;
- param.block_size_index = OperandIndex{init_param.inputs[1]};
+ param.block_size = operands.at(OperandIndex{init_param.inputs[1]}).asScalar<std::int32_t>();
return new operation::SpaceToDepth{inputs, outputs, param};
};
};
_map[ANEURALNETWORKS_DEPTH_TO_SPACE] = [](const OperationFactory::Param &init_param,
- neurun::model::Operands &) {
+ neurun::model::Operands &operands) {
assert(init_param.input_count == 2 && init_param.output_count == 1);
OperandIndexSequence outputs{init_param.outputs[0]};
OperandIndexSequence inputs{init_param.inputs[0]};
operation::DepthToSpace::Param param;
- param.block_size_index = OperandIndex{init_param.inputs[1]};
+ param.block_size = operands.at(OperandIndex{init_param.inputs[1]}).asScalar<std::int32_t>();
return new operation::DepthToSpace{inputs, outputs, param};
};