diff options
Diffstat (limited to 'src/runtime')
-rw-r--r-- | src/runtime/CL/functions/CLConcatenateLayer.cpp | 19 | ||||
-rw-r--r-- | src/runtime/CL/functions/CLPadLayer.cpp | 2 | ||||
-rw-r--r-- | src/runtime/NEON/functions/NEConcatenateLayer.cpp | 15 | ||||
-rw-r--r-- | src/runtime/NEON/functions/NEPadLayer.cpp | 2 |
4 files changed, 18 insertions, 20 deletions
diff --git a/src/runtime/CL/functions/CLConcatenateLayer.cpp b/src/runtime/CL/functions/CLConcatenateLayer.cpp index 7edea3efac..b9b3c5bb80 100644 --- a/src/runtime/CL/functions/CLConcatenateLayer.cpp +++ b/src/runtime/CL/functions/CLConcatenateLayer.cpp @@ -44,10 +44,10 @@ CLConcatenateLayer::CLConcatenateLayer() { } -void CLConcatenateLayer::configure(const std::vector<ICLTensor *> &inputs_vector, ICLTensor *output, DataLayoutDimension axis) +void CLConcatenateLayer::configure(const std::vector<ICLTensor *> &inputs_vector, ICLTensor *output, size_t axis) { ARM_COMPUTE_ERROR_ON(output == nullptr); - _axis = get_data_layout_dimension_index(output->info()->data_layout(), axis); + _axis = axis; _num_inputs = inputs_vector.size(); std::vector<ITensorInfo *> inputs_vector_info(inputs_vector.size()); @@ -135,30 +135,29 @@ void CLConcatenateLayer::configure(const std::vector<ICLTensor *> &inputs_vector } } -Status CLConcatenateLayer::validate(const std::vector<ITensorInfo *> &inputs_vector, const ITensorInfo *output, DataLayoutDimension axis) +Status CLConcatenateLayer::validate(const std::vector<ITensorInfo *> &inputs_vector, const ITensorInfo *output, size_t axis) { ARM_COMPUTE_RETURN_ERROR_ON(output == nullptr); const unsigned int num_inputs = inputs_vector.size(); ARM_COMPUTE_RETURN_ERROR_ON_NULLPTR(output); ARM_COMPUTE_RETURN_ERROR_ON(num_inputs < 2); - const unsigned int _axis = get_data_layout_dimension_index(inputs_vector[0]->data_layout(), axis); // Output auto inizialitation if not yet initialized TensorInfo tmp_output_info = *output->clone(); TensorShape output_shape{}; - if(_axis == Window::DimZ) + if(axis == Window::DimZ) { output_shape = arm_compute::misc::shape_calculator::calculate_depth_concatenate_shape(inputs_vector); } else { - output_shape = arm_compute::misc::shape_calculator::calculate_concatenate_shape(inputs_vector, _axis); + output_shape = arm_compute::misc::shape_calculator::calculate_concatenate_shape(inputs_vector, axis); } auto_init_if_empty(tmp_output_info, output_shape, 1, inputs_vector[0]->data_type()); unsigned int offset = 0; - switch(_axis) + switch(axis) { case Window::DimX: { @@ -180,7 +179,7 @@ Status CLConcatenateLayer::validate(const std::vector<ITensorInfo *> &inputs_vec { ARM_COMPUTE_RETURN_ERROR_ON_NULLPTR(input); ARM_COMPUTE_RETURN_ON_ERROR(CLWidthConcatenateLayerKernel::validate(input, offset, &tmp_output_info)); - offset += input->dimension(_axis); + offset += input->dimension(axis); } break; } @@ -191,7 +190,7 @@ Status CLConcatenateLayer::validate(const std::vector<ITensorInfo *> &inputs_vec for(const auto &input : inputs_vector) { ARM_COMPUTE_RETURN_ON_ERROR(CLHeightConcatenateLayerKernel::validate(input, offset, &tmp_output_info)); - offset += input->dimension(_axis); + offset += input->dimension(axis); } break; } @@ -200,7 +199,7 @@ Status CLConcatenateLayer::validate(const std::vector<ITensorInfo *> &inputs_vec for(const auto &input : inputs_vector) { ARM_COMPUTE_RETURN_ON_ERROR(CLDepthConcatenateLayerKernel::validate(input, offset, &tmp_output_info)); - offset += input->dimension(_axis); + offset += input->dimension(axis); } break; } diff --git a/src/runtime/CL/functions/CLPadLayer.cpp b/src/runtime/CL/functions/CLPadLayer.cpp index f88cb388be..dba7f23f3b 100644 --- a/src/runtime/CL/functions/CLPadLayer.cpp +++ b/src/runtime/CL/functions/CLPadLayer.cpp @@ -141,7 +141,7 @@ void CLPadLayer::configure_reflect_symmetric_mode(ICLTensor *input, ICLTensor *o } // Concatenate the padding before and after with the input. ICLTensor *out = (static_cast<int32_t>(i) == last_padding_dimension) ? output : &_concat_results[i]; - _concat_functions[i].configure(concat_vector, out, get_index_data_layout_dimension(prev->info()->data_layout(), i)); + _concat_functions[i].configure(concat_vector, out, i); prev = out; } } diff --git a/src/runtime/NEON/functions/NEConcatenateLayer.cpp b/src/runtime/NEON/functions/NEConcatenateLayer.cpp index fa7b91c3ca..e02c0c2c7a 100644 --- a/src/runtime/NEON/functions/NEConcatenateLayer.cpp +++ b/src/runtime/NEON/functions/NEConcatenateLayer.cpp @@ -44,10 +44,10 @@ NEConcatenateLayer::NEConcatenateLayer() { } -void NEConcatenateLayer::configure(const std::vector<ITensor *> &inputs_vector, ITensor *output, DataLayoutDimension axis) +void NEConcatenateLayer::configure(const std::vector<ITensor *> &inputs_vector, ITensor *output, size_t axis) { ARM_COMPUTE_ERROR_ON(output == nullptr); - _axis = get_data_layout_dimension_index(output->info()->data_layout(), axis); + _axis = axis; _num_inputs = inputs_vector.size(); std::vector<ITensorInfo *> inputs_vector_info; @@ -104,22 +104,21 @@ void NEConcatenateLayer::configure(const std::vector<ITensor *> &inputs_vector, } } -Status NEConcatenateLayer::validate(const std::vector<ITensorInfo *> &inputs_vector, const ITensorInfo *output, DataLayoutDimension axis) +Status NEConcatenateLayer::validate(const std::vector<ITensorInfo *> &inputs_vector, const ITensorInfo *output, size_t axis) { ARM_COMPUTE_RETURN_ERROR_ON_NULLPTR(output); ARM_COMPUTE_RETURN_ERROR_ON(inputs_vector.size() < 2); - const unsigned int _axis = get_data_layout_dimension_index(inputs_vector[0]->data_layout(), axis); // Output auto inizialitation if not yet initialized TensorInfo tmp_output_info = *output->clone(); TensorShape output_shape{}; - if(_axis == Window::DimZ) + if(axis == Window::DimZ) { output_shape = arm_compute::misc::shape_calculator::calculate_depth_concatenate_shape(inputs_vector); } else { - output_shape = arm_compute::misc::shape_calculator::calculate_concatenate_shape(inputs_vector, _axis); + output_shape = arm_compute::misc::shape_calculator::calculate_concatenate_shape(inputs_vector, axis); } auto_init_if_empty(tmp_output_info, output_shape, 1, inputs_vector[0]->data_type()); @@ -127,7 +126,7 @@ Status NEConcatenateLayer::validate(const std::vector<ITensorInfo *> &inputs_vec for(const auto &input : inputs_vector) { ARM_COMPUTE_RETURN_ERROR_ON_NULLPTR(input); - switch(_axis) + switch(axis) { case Window::DimX: { @@ -147,7 +146,7 @@ Status NEConcatenateLayer::validate(const std::vector<ITensorInfo *> &inputs_vec default: ARM_COMPUTE_ERROR("Axis not supported"); } - offset += input->dimension(_axis); + offset += input->dimension(axis); } return Status{}; diff --git a/src/runtime/NEON/functions/NEPadLayer.cpp b/src/runtime/NEON/functions/NEPadLayer.cpp index 62a7d4559b..6af2ee8868 100644 --- a/src/runtime/NEON/functions/NEPadLayer.cpp +++ b/src/runtime/NEON/functions/NEPadLayer.cpp @@ -182,7 +182,7 @@ void NEPadLayer::configure_reflect_symmetric_mode(ITensor *input, ITensor *outpu } // Concatenate the padding before and after with the input. ITensor *out = (i == _num_dimensions - 1) ? output : &_concat_results[i]; - _concat_functions[i].configure(concat_vector, out, get_index_data_layout_dimension(input->info()->data_layout(), i)); + _concat_functions[i].configure(concat_vector, out, i); if(i != _num_dimensions - 1) { _concat_results[i].allocator()->allocate(); |