Skip to content

Commit 6fae0fa

Browse files
committed
Fixed bug in conv kernels related to wrong perception_area calculation in some rare cases.
1 parent ef7dd3c commit 6fae0fa

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

lib/src/kernels/convolution/mli_krn_conv2d_hwc.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -346,8 +346,8 @@ static __attribute__ ((always_inline)) void depthwise_convolution2D_hwcn_krnpad(
346346
perception_area_nopad.clmn_beg = CEIL_DIV(padding_left, stride_width);
347347
perception_area_nopad.clmn_end = out.width - CEIL_DIV(padding_right, stride_width);
348348

349-
if ((perception_area_nopad.row_end - perception_area_nopad.row_beg > 0)
350-
&& (perception_area_nopad.clmn_end - perception_area_nopad.clmn_beg > 0)){
349+
if ((perception_area_nopad.row_end > perception_area_nopad.row_beg)
350+
&& (perception_area_nopad.clmn_end > perception_area_nopad.clmn_beg)){
351351
depthwise_convolution2D_hwcn_nopad<int8_t, int8_t, int32_t, mli_acc32_t>(
352352
in, w, biases, out, &perception_area_nopad, quant_params,
353353
val_min_limit, val_max_limit,
@@ -622,8 +622,8 @@ static __attribute__ ((always_inline)) void convolution2D_nhwc_krnpad(
622622
perception_area_nopad.clmn_beg = CEIL_DIV(padding_left, stride_width);
623623
perception_area_nopad.clmn_end = out.width - CEIL_DIV(padding_right, stride_width);
624624

625-
if ((perception_area_nopad.row_end - perception_area_nopad.row_beg > 0)
626-
&& (perception_area_nopad.clmn_end - perception_area_nopad.clmn_beg > 0)){
625+
if ((perception_area_nopad.row_end > perception_area_nopad.row_beg)
626+
&& (perception_area_nopad.clmn_end > perception_area_nopad.clmn_beg)){
627627
convolution2D_nhwc_nopad<int8_t, int8_t, int32_t, mli_acc32_t>(
628628
in, w, biases, out, &perception_area_nopad, quant_params,
629629
val_min_limit, val_max_limit,

0 commit comments

Comments
 (0)