diff --git a/src/operators/kernel/central-arm-func/conv_add_arm_func.h b/src/operators/kernel/central-arm-func/conv_add_arm_func.h index d6aa5052ddd7e8c28eaa088487a5b8d4cda07330..0051fc9ae8cfb57fa6e602422b89f90f930f25a8 100644 --- a/src/operators/kernel/central-arm-func/conv_add_arm_func.h +++ b/src/operators/kernel/central-arm-func/conv_add_arm_func.h @@ -121,7 +121,8 @@ void ConvAddCompute(const FusionConvAddParam ¶m) { if (param.Groups() == param.Input()->dims()[1] && param.Input()->dims()[1] == param.Output()->dims()[1] && param.Filter()->dims()[2] == param.Filter()->dims()[3] && - param.Filter()->dims()[2] == 3 && param.Strides()[0] == 1) { + param.Filter()->dims()[2] == 3 && param.Strides()[0] == 1 && + param.paddings_[0] == 1) { math::DepthwiseConv3x3s1p1(param.Input(), param.Filter(), param.Output(), param.Bias(), true, false); } else if (param.Groups() == param.Input()->dims()[1] && diff --git a/src/operators/kernel/central-arm-func/conv_add_relu_arm_func.h b/src/operators/kernel/central-arm-func/conv_add_relu_arm_func.h index 04a84fc9765bf233e331bcbd8186117c104fac31..9f8e885a3160f0c9c04e11736c3feec363ffe8cb 100644 --- a/src/operators/kernel/central-arm-func/conv_add_relu_arm_func.h +++ b/src/operators/kernel/central-arm-func/conv_add_relu_arm_func.h @@ -125,7 +125,8 @@ void ConvAddReluCompute(const FusionConvAddReluParam ¶m) { if (param.Groups() == param.Input()->dims()[1] && param.Input()->dims()[1] == param.Output()->dims()[1] && param.Filter()->dims()[2] == param.Filter()->dims()[3] && - param.Filter()->dims()[2] == 3 && param.Strides()[0] == 1) { + param.Filter()->dims()[2] == 3 && param.Strides()[0] == 1 && + param.paddings_[0] == 1) { math::DepthwiseConv3x3s1p1(param.Input(), param.Filter(), param.Output(), param.Bias(), true, true); } else if (param.Groups() == param.Input()->dims()[1] && diff --git a/src/operators/kernel/central-arm-func/conv_bn_add_relu_arm_func.h b/src/operators/kernel/central-arm-func/conv_bn_add_relu_arm_func.h index caaf467141b292b31178ac9bcb298487a5d677f8..1ff51aa39c880e1619af4e158bc77815e0dc1278 100644 --- a/src/operators/kernel/central-arm-func/conv_bn_add_relu_arm_func.h +++ b/src/operators/kernel/central-arm-func/conv_bn_add_relu_arm_func.h @@ -122,7 +122,8 @@ void ConvBNAddReluCompute(const FusionConvBNAddReluParam ¶m) { if (param.Groups() == param.Input()->dims()[1] && param.Input()->dims()[1] == param.Output()->dims()[1] && param.Filter()->dims()[2] == param.Filter()->dims()[3] && - param.Filter()->dims()[2] == 3 && param.Strides()[0] == 1) { + param.Filter()->dims()[2] == 3 && param.Strides()[0] == 1 && + param.paddings_[0] == 1) { math::DepthwiseConvAddBNRelu3x3s1p1(param.Input(), param.Filter(), param.Output(), param.NewScale(), param.NewBias(), true); diff --git a/src/operators/kernel/central-arm-func/conv_bn_relu_arm_func.h b/src/operators/kernel/central-arm-func/conv_bn_relu_arm_func.h index 7eeb7f76670aa5c5a39544484ac92e611ff9066a..5606eb3304ac1384fdbd5c3899b6ad3186d315b6 100644 --- a/src/operators/kernel/central-arm-func/conv_bn_relu_arm_func.h +++ b/src/operators/kernel/central-arm-func/conv_bn_relu_arm_func.h @@ -120,7 +120,8 @@ void ConvBNReluCompute(const FusionConvBNReluParam ¶m) { if (param.Groups() == param.Input()->dims()[1] && param.Input()->dims()[1] == param.Output()->dims()[1] && param.Filter()->dims()[2] == param.Filter()->dims()[3] && - param.Filter()->dims()[2] == 3 && param.Strides()[0] == 1) { + param.Filter()->dims()[2] == 3 && param.Strides()[0] == 1 && + param.paddings_[0] == 1) { math::DepthwiseConvAddBNRelu3x3s1p1(param.Input(), param.Filter(), param.Output(), param.NewScale(), param.NewBias(), true);