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 15f9b4a17889b77da1884253f9e982d8f14ad131..d163b8862a082a06742b7344e34a5adb0b0cc871 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 @@ -32,7 +32,12 @@ void ConvAddBasic(const FusionConvAddParam ¶m) { int axis = param.Axis(); Tensor *output = param.Output(); math::expand_bias(bias, axis, output->dims()); - output->ShareDataWith(bias); + float *output_data = output->data(); + float *biase_data = bias.data(); + for (int k = 0; k < output->numel(); ++k) { + output_data[k] = biase_data[k]; + } + int groups = param.Groups(); std::vector strides = param.Strides(); std::vector paddings = param.Paddings(); 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 e8929e3e94073d384d24f63b5aa73e51e353fa26..363927ab8e257c74061067b88dcd5a49b322ae72 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 @@ -29,7 +29,12 @@ void ConvAddReluCompute(const FusionConvAddReluParam ¶m) { int axis = param.Axis(); Tensor *output = param.Output(); math::expand_bias(bias, axis, output->dims()); - output->ShareDataWith(bias); + float *output_data = output->data(); + float *biase_data = bias.data(); + for (int k = 0; k < output->numel(); ++k) { + output_data[k] = biase_data[k]; + } + int groups = param.Groups(); std::vector strides = param.Strides(); std::vector paddings = param.Paddings();