aboutsummaryrefslogtreecommitdiff
path: root/src/core/CL/kernels/CLBatchToSpaceLayerKernel.cpp
diff options
context:
space:
mode:
authorMichalis Spyrou <michalis.spyrou@arm.com>2018-11-20 12:39:47 +0000
committerMichalis Spyrou <michalis.spyrou@arm.com>2018-11-20 14:56:11 +0000
commit8f2cbfa15bfb0e49ca6a334a220f0e36964289d6 (patch)
tree25d292198b85c3d131d288814e92b998b423a06e /src/core/CL/kernels/CLBatchToSpaceLayerKernel.cpp
parent8773d7cec5a22dd39305206072a496eb2548968b (diff)
downloadComputeLibrary-8f2cbfa15bfb0e49ca6a334a220f0e36964289d6.tar.gz
COMPMID-1451: Fix CLBatchToSpace static validation method
Change-Id: I770b044b67d93510ef65e556905135b34be7ea0a
Diffstat (limited to 'src/core/CL/kernels/CLBatchToSpaceLayerKernel.cpp')
-rw-r--r--src/core/CL/kernels/CLBatchToSpaceLayerKernel.cpp19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/core/CL/kernels/CLBatchToSpaceLayerKernel.cpp b/src/core/CL/kernels/CLBatchToSpaceLayerKernel.cpp
index 8f56f66845..58a8d104c0 100644
--- a/src/core/CL/kernels/CLBatchToSpaceLayerKernel.cpp
+++ b/src/core/CL/kernels/CLBatchToSpaceLayerKernel.cpp
@@ -55,18 +55,19 @@ Status validate_arguments_static(const ITensorInfo *input, const int block_shape
ARM_COMPUTE_RETURN_ERROR_ON(block_shape_x <= 0);
ARM_COMPUTE_RETURN_ERROR_ON(block_shape_y <= 0);
+ const DataLayout data_layout = input->data_layout();
+ const int idx_batch = get_data_layout_dimension_index(data_layout, DataLayoutDimension::BATCHES);
+ ARM_COMPUTE_RETURN_ERROR_ON(input->tensor_shape()[idx_batch] % (block_shape_x * block_shape_y) != 0);
+
// Validate output if initialized
if(output->total_size() != 0)
{
- const DataLayout data_layout = input->data_layout();
- const int idx_width = get_data_layout_dimension_index(data_layout, DataLayoutDimension::WIDTH);
- const int idx_height = get_data_layout_dimension_index(data_layout, DataLayoutDimension::HEIGHT);
- const int idx_channel = get_data_layout_dimension_index(data_layout, DataLayoutDimension::CHANNEL);
- const int idx_batch = get_data_layout_dimension_index(data_layout, DataLayoutDimension::BATCHES);
- ARM_COMPUTE_RETURN_ERROR_ON(input->tensor_shape()[idx_width] != (block_shape_x * output->tensor_shape()[idx_width]));
- ARM_COMPUTE_RETURN_ERROR_ON(input->tensor_shape()[idx_height] != (block_shape_x * output->tensor_shape()[idx_height]));
- ARM_COMPUTE_RETURN_ERROR_ON(input->tensor_shape()[idx_channel] != output->tensor_shape()[idx_channel]);
- ARM_COMPUTE_RETURN_ERROR_ON(output->tensor_shape()[idx_batch] % (block_shape_x * block_shape_y) != 0);
+ const int idx_width = get_data_layout_dimension_index(data_layout, DataLayoutDimension::WIDTH);
+ const int idx_height = get_data_layout_dimension_index(data_layout, DataLayoutDimension::HEIGHT);
+ const int idx_channel = get_data_layout_dimension_index(data_layout, DataLayoutDimension::CHANNEL);
+ ARM_COMPUTE_RETURN_ERROR_ON(output->tensor_shape()[idx_width] != (block_shape_x * input->tensor_shape()[idx_width]));
+ ARM_COMPUTE_RETURN_ERROR_ON(output->tensor_shape()[idx_height] != (block_shape_x * input->tensor_shape()[idx_height]));
+ ARM_COMPUTE_RETURN_ERROR_ON(output->tensor_shape()[idx_channel] != input->tensor_shape()[idx_channel]);
ARM_COMPUTE_RETURN_ERROR_ON(output->num_dimensions() > 4);
ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_DATA_TYPES(input, output);
}