From: 오형석/동작제어Lab(SR)/Staff Engineer/삼성전자 Date: Fri, 3 Aug 2018 07:00:34 +0000 (+0900) Subject: [neurun] Fix convolution cpu backend debug build bug (#2150) X-Git-Tag: 0.2~345 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=aa508d646412196a79267e5b37a015b14a1a9b47;p=platform%2Fcore%2Fml%2Fnnfw.git [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 --- 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; }