diff options
author | Gian Marco Iodice <gianmarco.iodice@arm.com> | 2018-08-02 16:43:24 +0100 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:54:54 +0000 |
commit | ebbb7f2ee00bdebad5da3629bbc78dc3a65fe0c5 (patch) | |
tree | ece1bc256de86ea6fa25803e30976b1eed7b3ffd /src/runtime/CL/functions/CLGEMMConvolutionLayer.cpp | |
parent | 4cb39096ded770bfc4cf9712b85ed38e66c0e3f7 (diff) | |
download | ComputeLibrary-ebbb7f2ee00bdebad5da3629bbc78dc3a65fe0c5.tar.gz |
COMPMID-1188 - Fixed CLGEMMConvolutionLayer/NEGEMMConvolutionLayer for NHWC
We skipped im2col also without unit strides
Change-Id: I04c63a6dda8553b3890e832a56ff6854349c829a
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/142520
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/runtime/CL/functions/CLGEMMConvolutionLayer.cpp')
-rw-r--r-- | src/runtime/CL/functions/CLGEMMConvolutionLayer.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/runtime/CL/functions/CLGEMMConvolutionLayer.cpp b/src/runtime/CL/functions/CLGEMMConvolutionLayer.cpp index de628291eb..fde15613d6 100644 --- a/src/runtime/CL/functions/CLGEMMConvolutionLayer.cpp +++ b/src/runtime/CL/functions/CLGEMMConvolutionLayer.cpp @@ -181,7 +181,7 @@ void CLGEMMConvolutionLayer::configure(const ICLTensor *input, const ICLTensor * _original_weights = weights; _is_quantized = is_data_type_quantized_asymmetric(input->info()->data_type()); _data_layout = data_layout; - _skip_im2col = (data_layout == DataLayout::NHWC && kernel_width == 1 && kernel_height == 1) && !_is_quantized; + _skip_im2col = (data_layout == DataLayout::NHWC && kernel_width == 1 && kernel_height == 1 && conv_info.stride().first == 1 && conv_info.stride().second == 1) && !_is_quantized; _append_bias = (biases != nullptr) && (!_is_quantized); // Set the GPU target for im2col and col2im @@ -350,7 +350,7 @@ Status CLGEMMConvolutionLayer::validate(const ITensorInfo *input, const ITensorI const bool is_nhwc = data_layout == DataLayout::NHWC; const bool is_quantized = is_data_type_quantized_asymmetric(data_type); - const bool skip_im2col = (data_layout == DataLayout::NHWC && kernel_width == 1 && kernel_height == 1) && !is_quantized; + const bool skip_im2col = (data_layout == DataLayout::NHWC && kernel_width == 1 && kernel_height == 1 && conv_info.stride().first == 1 && conv_info.stride().second == 1) && !is_quantized; const bool append_bias = (biases != nullptr) && (!is_quantized); const unsigned bias_element = (append_bias && !skip_im2col) ? 1 : 0; |