From aa508d646412196a79267e5b37a015b14a1a9b47 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=EC=98=A4=ED=98=95=EC=84=9D/=EB=8F=99=EC=9E=91=EC=A0=9C?= =?utf8?q?=EC=96=B4Lab=28SR=29/Staff=20Engineer/=EC=82=BC=EC=84=B1?= =?utf8?q?=EC=A0=84=EC=9E=90?= Date: Fri, 3 Aug 2018 16:00:34 +0900 Subject: [PATCH] [neurun] Fix convolution cpu backend debug build bug (#2150) Fix convolution cpu backend debug build bug by check code in tflite kernel Signed-off-by: Hyeongseok Oh --- runtimes/neurun/src/kernel/cpufallback/ConvolutionLayer.cc | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/runtimes/neurun/src/kernel/cpufallback/ConvolutionLayer.cc b/runtimes/neurun/src/kernel/cpufallback/ConvolutionLayer.cc index 7e4e464..88cd78e 100644 --- a/runtimes/neurun/src/kernel/cpufallback/ConvolutionLayer.cc +++ b/runtimes/neurun/src/kernel/cpufallback/ConvolutionLayer.cc @@ -69,6 +69,18 @@ bool ConvolutionLayer::convFloat32() { ANDROID_NN_CONV_PARAMETERS(float) + const ::tflite::Dims<4> &kernel_dim = convertShapeToDims(_kernelShape); + const int kernel_width = ArraySize(kernel_dim, 1); + const int kernel_height = ArraySize(kernel_dim, 2); + const bool need_im2col = + _strideWidth != 1 || _strideHeight != 1 || kernel_width != 1 || kernel_height != 1; + + float *im2colDataToPass = nullptr; + if (need_im2col) + { + im2colDataToPass = im2colData; + } + float output_activation_min, output_activation_max; CalculateActivationRangeFloat(_activation, &output_activation_min, &output_activation_max); int32_t dilationWidthFactor = 1, dilationHeightFactor = 1; @@ -78,7 +90,7 @@ bool ConvolutionLayer::convFloat32() reinterpret_cast(_biasData), convertShapeToDims(_biasShape), _strideWidth, _strideHeight, dilationWidthFactor, dilationHeightFactor, paddingWidth, paddingHeight, output_activation_min, output_activation_max, reinterpret_cast(_outputData), - convertShapeToDims(_outputShape), im2colData, im2colDim); + convertShapeToDims(_outputShape), im2colDataToPass, im2colDim); return true; } -- 2.7.4