diff --git a/src/operators/kernel/central-arm-func/conv_add_add_prelu_arm_func.h b/src/operators/kernel/central-arm-func/conv_add_add_prelu_arm_func.h index 7660ed46155f34bb08e9526e71969eb0f2cf8254..4c9ca6e3e8ef995e9cce6f565aafece17ac51b10 100644 --- a/src/operators/kernel/central-arm-func/conv_add_add_prelu_arm_func.h +++ b/src/operators/kernel/central-arm-func/conv_add_add_prelu_arm_func.h @@ -32,11 +32,11 @@ void ConvAddAddPReluCompute(const FusionConvAddAddPReluParam ¶m) { Tensor filter = *param.Filter(); Tensor bias = *param.Bias(); Tensor bias1 = *param.Bias1(); - int axis = param.Axis(); Tensor *output = param.Output(); - + output->mutable_data(); float *biase_data = bias.data(); + int axis = param.Axis(); 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_arm_func.h b/src/operators/kernel/central-arm-func/conv_add_arm_func.h index c012f74b2b66d3b191e9a3d9dcef3d0c0988b8f6..d6aa5052ddd7e8c28eaa088487a5b8d4cda07330 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 @@ -30,10 +30,11 @@ void ConvAddBasic(const FusionConvAddParam ¶m) { const Tensor *input = param.Input(); Tensor filter = *param.Filter(); Tensor bias = *param.Bias(); - int axis = param.Axis(); Tensor *output = param.Output(); + output->mutable_data(); float *biase_data = bias.data(); + int axis = param.Axis(); 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_bn_relu_arm_func.h b/src/operators/kernel/central-arm-func/conv_add_bn_relu_arm_func.h index 9a5bbbbd6a0ab3f134ec3b7f2354a9e1d139aa7c..b94d6c97f278a71c4fa1519d9ceb76a7f3675852 100644 --- a/src/operators/kernel/central-arm-func/conv_add_bn_relu_arm_func.h +++ b/src/operators/kernel/central-arm-func/conv_add_bn_relu_arm_func.h @@ -32,6 +32,8 @@ void ConvAddBNReluBasic(const FusionConvAddBNReluParam ¶m) { Tensor new_bias = *param.NewBias(); Tensor new_scale = *param.NewScale(); Tensor *output = param.Output(); + output->mutable_data(); + int groups = param.Groups(); std::vector strides = param.Strides(); std::vector paddings = param.Paddings(); @@ -115,8 +117,6 @@ void ConvAddBNReluBasic(const FusionConvAddBNReluParam ¶m) { template void ConvAddBNReluCompute(const FusionConvAddBNReluParam ¶m) { - Tensor Bias; - Bias.mutable_data({param.Groups()}); if (param.Groups() == param.Input()->dims()[1] && param.Input()->dims()[1] == param.Output()->dims()[1] && param.Filter()->dims()[2] == param.Filter()->dims()[3] && diff --git a/src/operators/kernel/central-arm-func/conv_add_prelu_arm_func.h b/src/operators/kernel/central-arm-func/conv_add_prelu_arm_func.h index 4a97b2fa81e19f62633e355cdaa768c1d8ddeb52..d11a8442acdd275c95aaa96b2c3e1855e44746e9 100644 --- a/src/operators/kernel/central-arm-func/conv_add_prelu_arm_func.h +++ b/src/operators/kernel/central-arm-func/conv_add_prelu_arm_func.h @@ -31,10 +31,11 @@ void ConvAddPReluCompute(const FusionConvAddPReluParam ¶m) { const Tensor *input = param.Input(); Tensor filter = *param.Filter(); Tensor bias = *param.Bias(); - int axis = param.Axis(); Tensor *output = param.Output(); + output->mutable_data(); float *biase_data = bias.data(); + int axis = param.Axis(); int groups = param.Groups(); std::vector strides = param.Strides(); std::vector paddings = param.Paddings(); 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 65aee43c59fcceeb142c858f2883c80a0d6e004e..caaf467141b292b31178ac9bcb298487a5d677f8 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 @@ -30,11 +30,11 @@ void ConvBNAddReluBasic(const FusionConvBNAddReluParam ¶m) { Tensor filter = *param.Filter(); Tensor new_bias = *param.NewBias(); Tensor new_scale = *param.NewScale(); - Tensor *output = param.Output(); Tensor *bias1 = param.Bias(); + Tensor *output = param.Output(); + output->mutable_data(); + int groups = param.Groups(); - DLOG << "yangfei2"; - DLOG << bias1->dims(); std::vector strides = param.Strides(); std::vector paddings = param.Paddings(); std::vector dilations = param.Dilations(); diff --git a/src/operators/kernel/central-arm-func/conv_transpose_arm_func.h b/src/operators/kernel/central-arm-func/conv_transpose_arm_func.h index f7ebe571f9b8f3f032ef8d5902861f1b5b5d3002..34e9e120ae3a92e67ed4566aeae0ebd938e5dbf6 100644 --- a/src/operators/kernel/central-arm-func/conv_transpose_arm_func.h +++ b/src/operators/kernel/central-arm-func/conv_transpose_arm_func.h @@ -31,6 +31,7 @@ void ConvTransposeCompute(const ConvTransposeParam ¶m) { const Tensor *input = param.Input(); Tensor filter = *param.Filter(); Tensor *output = param.Output(); + output->mutable_data

(); auto strides = param.Strides(); auto paddings = param.Paddings(); @@ -76,8 +77,6 @@ void ConvTransposeCompute(const ConvTransposeParam ¶m) { framework::DDim filter_matrix_shape = {input->dims()[1], col_matrix_shape[0]}; filter.Resize(filter_matrix_shape); - output->mutable_data

(); - int in_step = static_cast(input->dims()[1]) / groups; int out_step = static_cast(output->dims()[1]) / groups;