From 2897e61e8fe04aaf95540f4525c3dd3f7f46ebfa Mon Sep 17 00:00:00 2001 From: Michalis Spyrou Date: Tue, 20 Nov 2018 18:38:29 +0000 Subject: COMPMID-1645 NEL2Normalization for FP32/FP16 & NHWC Change-Id: I29e35024e29781a6b943b568abec9c73649215e6 --- src/core/NEON/kernels/NEReductionOperationKernel.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src/core/NEON/kernels/NEReductionOperationKernel.cpp') diff --git a/src/core/NEON/kernels/NEReductionOperationKernel.cpp b/src/core/NEON/kernels/NEReductionOperationKernel.cpp index 182e93d177..9306e0303d 100644 --- a/src/core/NEON/kernels/NEReductionOperationKernel.cpp +++ b/src/core/NEON/kernels/NEReductionOperationKernel.cpp @@ -66,12 +66,14 @@ public: { // Set in window Window in_window(window); + Window out_window(window); in_window.set(Window::DimY, Window::Dimension(0, 1, 1)); + out_window.set(Window::DimY, Window::Dimension(0, output->info()->dimension(1), output->info()->dimension(1))); // Get first input and output slices Window in_slice = in_window.first_slice_window_2D(); - Window out_slice = window.first_slice_window_2D(); + Window out_slice = out_window.first_slice_window_2D(); do { @@ -80,18 +82,20 @@ public: f(in, out, in_slice, out_slice, *input->info(), 1); } - while(in_window.slide_window_slice_2D(in_slice) && window.slide_window_slice_2D(out_slice)); + while(in_window.slide_window_slice_2D(in_slice) && out_window.slide_window_slice_2D(out_slice)); } static void reduceZ(const Window &window, const ITensor *input, ITensor *output, F f) { // Set in window Window in_window(window); + Window out_window(window); in_window.set(Window::DimZ, Window::Dimension(0, 1, 1)); + out_window.set(Window::DimZ, Window::Dimension(0, output->info()->dimension(2), output->info()->dimension(2))); // Get first input and output slices Window in_slice = in_window.first_slice_window_3D(); - Window out_slice = window.first_slice_window_3D(); + Window out_slice = out_window.first_slice_window_3D(); do { @@ -100,7 +104,7 @@ public: f(in, out, in_slice, out_slice, *input->info(), 2); } - while(in_window.slide_window_slice_3D(in_slice) && window.slide_window_slice_3D(out_slice)); + while(in_window.slide_window_slice_3D(in_slice) && out_window.slide_window_slice_3D(out_slice)); } static void reduceW(const Window &window, const ITensor *input, ITensor *output, F f) { -- cgit v1.2.1