From f6a43c576e4eb731e5e0fa70ce4a0d3bd6a01a61 Mon Sep 17 00:00:00 2001 From: Giorgio Arena Date: Fri, 1 Dec 2017 12:16:25 +0000 Subject: COMPMID-617 CL window validation fixes Change-Id: I479dc1bd3bf9be641cb89cea5085151ba464f798 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/111471 Reviewed-by: Georgios Pinitas Tested-by: BSG Visual Compute Jenkins server to access repositories on http://mpd-gerrit.cambridge.arm.com --- src/core/CL/kernels/CLBatchNormalizationLayerKernel.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/core/CL/kernels/CLBatchNormalizationLayerKernel.cpp') diff --git a/src/core/CL/kernels/CLBatchNormalizationLayerKernel.cpp b/src/core/CL/kernels/CLBatchNormalizationLayerKernel.cpp index 7426cad7ba..62a203c97b 100644 --- a/src/core/CL/kernels/CLBatchNormalizationLayerKernel.cpp +++ b/src/core/CL/kernels/CLBatchNormalizationLayerKernel.cpp @@ -63,6 +63,12 @@ Error validate_arguments(const ITensorInfo *input, const ITensorInfo *output, std::pair validate_and_configure_window(ITensorInfo *input, ITensorInfo *output) { + if(output != nullptr) + { + // Output tensor auto initialization if not yet initialized + auto_init_if_empty(*output, *input->clone()); + } + const unsigned int num_elems_processed_per_iteration = 16 / input->element_size(); // Configure kernel window @@ -108,11 +114,11 @@ void CLBatchNormalizationLayerKernel::configure(ICLTensor *input, ICLTensor *out { ARM_COMPUTE_ERROR_ON_NULLPTR(input->info(), output->info()); // Output tensor auto initialization if not yet initialized - auto_init_if_empty(*output->info(), input->info()->tensor_shape(), 1, input->info()->data_type(), input->info()->fixed_point_position()); + auto_init_if_empty(*output->info(), *input->info()->clone()); } - ARM_COMPUTE_ERROR_THROW_ON(CLBatchNormalizationLayerKernel::validate(input->info(), (output != nullptr) ? output->info() : nullptr, - mean->info(), var->info(), beta->info(), gamma->info(), epsilon)); + ARM_COMPUTE_ERROR_THROW_ON(validate_arguments(input->info(), (output != nullptr) ? output->info() : nullptr, + mean->info(), var->info(), beta->info(), gamma->info(), epsilon)); const unsigned int num_elems_processed_per_iteration = 16 / input->info()->element_size(); -- cgit v1.2.1