From f44fe3dfa30f673c95d904bb63753a11b6f64e33 Mon Sep 17 00:00:00 2001 From: giuros01 Date: Wed, 14 Aug 2019 16:49:27 +0100 Subject: COMPMID-2568: NEON Convolution layer failure Fixing the output tile size used when one of height or width is less than 4. Also added a test case that stresses this out. Change-Id: I99bb689f26aef713f8206c7d702f9fcf1017af58 Signed-off-by: giuros01 Reviewed-on: https://review.mlplatform.org/c/1744 Reviewed-by: Michele Di Giorgio Tested-by: Arm Jenkins --- src/runtime/NEON/functions/NEWinogradConvolutionLayer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/runtime/NEON/functions/NEWinogradConvolutionLayer.cpp b/src/runtime/NEON/functions/NEWinogradConvolutionLayer.cpp index 01cdff674e..e699ad1815 100644 --- a/src/runtime/NEON/functions/NEWinogradConvolutionLayer.cpp +++ b/src/runtime/NEON/functions/NEWinogradConvolutionLayer.cpp @@ -182,7 +182,7 @@ Size2D winograd_output_tile(const Size2D &input_dims, const Size2D &kernel_dims) Size2D output_tile = Size2D{}; if(kernel_dims == Size2D(3U, 3U)) { - output_tile = (input_dims.width <= 4 && input_dims.height <= 4) ? Size2D(2U, 2U) : Size2D(4U, 4U); + output_tile = (input_dims.width <= 4 || input_dims.height <= 4) ? Size2D(2U, 2U) : Size2D(4U, 4U); } else if(kernel_dims == Size2D(5U, 5U)) { -- cgit v1.2.1