aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/NEON/functions/NEDepthwiseConvolutionLayer.cpp
diff options
context:
space:
mode:
authorGeorgios Pinitas <georgios.pinitas@arm.com>2018-08-17 17:16:06 +0100
committerAnthony Barbier <anthony.barbier@arm.com>2018-11-02 16:54:54 +0000
commit104902098adf94c45ba89af02b92b9337ebd6d5f (patch)
treeb81eace1fbdaba6a7b7d58e31f38bbcf84a6c45f /src/runtime/NEON/functions/NEDepthwiseConvolutionLayer.cpp
parentbcafc4d343338a2b88027a02e5abdf9cd8082f46 (diff)
downloadComputeLibrary-104902098adf94c45ba89af02b92b9337ebd6d5f.tar.gz
COMPMID-1188: Set all arguments to const in NEDepthwiseConvolutionLayer::validate()
Change-Id: If922d5ea118910f651f986ff40f0c0a2b8bfc459 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/144614 Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/runtime/NEON/functions/NEDepthwiseConvolutionLayer.cpp')
-rw-r--r--src/runtime/NEON/functions/NEDepthwiseConvolutionLayer.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/runtime/NEON/functions/NEDepthwiseConvolutionLayer.cpp b/src/runtime/NEON/functions/NEDepthwiseConvolutionLayer.cpp
index d1727fc878..8d22f03d7f 100644
--- a/src/runtime/NEON/functions/NEDepthwiseConvolutionLayer.cpp
+++ b/src/runtime/NEON/functions/NEDepthwiseConvolutionLayer.cpp
@@ -350,15 +350,18 @@ void NEDepthwiseConvolutionLayer::configure(ITensor *input, const ITensor *weigh
_v2mm_output.allocator()->allocate();
}
-Status NEDepthwiseConvolutionLayer::validate(const ITensorInfo *input, const ITensorInfo *weights, const ITensorInfo *biases, ITensorInfo *output, const PadStrideInfo &conv_info,
+Status NEDepthwiseConvolutionLayer::validate(const ITensorInfo *input, const ITensorInfo *weights, const ITensorInfo *biases, const ITensorInfo *output, const PadStrideInfo &conv_info,
unsigned int depth_multiplier)
{
ARM_COMPUTE_RETURN_ERROR_ON_NULLPTR(input, weights, output);
ARM_COMPUTE_RETURN_ERROR_ON(input->data_layout() != DataLayout::NCHW && input->data_layout() != DataLayout::NHWC);
+ // Clone output to use auto init
+ auto output_clone = output->clone();
+
const ITensorInfo *input_to_use = input;
const ITensorInfo *weights_to_use = weights;
- const ITensorInfo *output_to_use = output;
+ const ITensorInfo *output_to_use = output_clone.get();
TensorShape permuted_input_shape = input->tensor_shape();
TensorShape permuted_weights_shape = weights->tensor_shape();
@@ -389,14 +392,14 @@ Status NEDepthwiseConvolutionLayer::validate(const ITensorInfo *input, const ITe
const size_t conv_size = conv_w * conv_h;
// Output auto inizialitation if not yet initialized
- auto_init_if_empty(*output, input->clone()->set_tensor_shape(output_shape));
+ auto_init_if_empty(*output_clone, input->clone()->set_tensor_shape(output_shape));
ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_DIMENSIONS(output->tensor_shape(), output_shape);
TensorInfo permuted_output;
if(input->data_layout() == DataLayout::NHWC)
{
permute(output_shape, PermutationVector(1U, 2U, 0U));
- permuted_output = TensorInfo(output->clone()->set_is_resizable(true).reset_padding().set_tensor_shape(output_shape).set_data_layout(DataLayout::NCHW));
+ permuted_output = TensorInfo(output_clone->clone()->set_is_resizable(true).reset_padding().set_tensor_shape(output_shape).set_data_layout(DataLayout::NCHW));
output_to_use = &permuted_output;
}