From b6fe546ee77fd82f12d3d64e3b0944cf47dde821 Mon Sep 17 00:00:00 2001 From: sunsuodong Date: Thu, 24 Dec 2020 16:48:03 +0800 Subject: [PATCH] integrate_ir --- .../lite/src/runtime/kernel/arm/fp16/deconvolution_fp16.cc | 3 ++- .../src/runtime/kernel/arm/fp16/deconvolution_winograd_fp16.cc | 3 ++- .../lite/src/runtime/kernel/arm/fp32/deconvolution_fp32.cc | 3 ++- .../src/runtime/kernel/arm/fp32/deconvolution_winograd_fp32.cc | 3 ++- mindspore/lite/test/models_mindspore.cfg | 2 +- 5 files changed, 9 insertions(+), 5 deletions(-) diff --git a/mindspore/lite/src/runtime/kernel/arm/fp16/deconvolution_fp16.cc b/mindspore/lite/src/runtime/kernel/arm/fp16/deconvolution_fp16.cc index 264d5e8dc0..8a199e0880 100644 --- a/mindspore/lite/src/runtime/kernel/arm/fp16/deconvolution_fp16.cc +++ b/mindspore/lite/src/runtime/kernel/arm/fp16/deconvolution_fp16.cc @@ -63,7 +63,8 @@ int DeConvolutionFp16CPUKernel::InitWeightBias() { return RET_ERROR; } memset(bias_data_, 0, UP_ROUND(output_channel, C4NUM) * sizeof(float16_t)); - if (in_tensors_.size() == 3) { + if (in_tensors_.size() == 3 && in_tensors_.at(kBiasIndex)->shape().size() == 1 && + in_tensors_.at(kBiasIndex)->DimensionSize(0) == output_channel) { Float32ToFloat16(reinterpret_cast(in_tensors_.at(2)->MutableData()), reinterpret_cast(bias_data_), output_channel); } diff --git a/mindspore/lite/src/runtime/kernel/arm/fp16/deconvolution_winograd_fp16.cc b/mindspore/lite/src/runtime/kernel/arm/fp16/deconvolution_winograd_fp16.cc index 1387e6b8d7..44e13c2376 100644 --- a/mindspore/lite/src/runtime/kernel/arm/fp16/deconvolution_winograd_fp16.cc +++ b/mindspore/lite/src/runtime/kernel/arm/fp16/deconvolution_winograd_fp16.cc @@ -340,7 +340,8 @@ int DeConvWinogradFp16CPUKernel::InitDataParam() { } memset(bias_data_, 0, deconv_param_->oc_up4_ * sizeof(float16_t)); auto fp16_bias_data = reinterpret_cast(bias_data_); - if (in_tensors_.size() == kInputSize2) { + if (in_tensors_.size() == 3 && in_tensors_.at(kBiasIndex)->shape().size() == 1 && + in_tensors_.at(kBiasIndex)->DimensionSize(0) == conv_param_->output_channel_) { auto src_bias = reinterpret_cast(in_tensors_.at(kBiasIndex)->MutableData()); MS_ASSERT(src_bias); for (int i = 0; i < conv_param_->output_channel_; ++i) { diff --git a/mindspore/lite/src/runtime/kernel/arm/fp32/deconvolution_fp32.cc b/mindspore/lite/src/runtime/kernel/arm/fp32/deconvolution_fp32.cc index 94ead04cef..d4f2b0a394 100644 --- a/mindspore/lite/src/runtime/kernel/arm/fp32/deconvolution_fp32.cc +++ b/mindspore/lite/src/runtime/kernel/arm/fp32/deconvolution_fp32.cc @@ -62,7 +62,8 @@ int DeConvolutionCPUKernel::InitWeightBias() { return RET_ERROR; } memset(bias_data_, 0, UP_ROUND(output_channel, C4NUM) * sizeof(float)); - if (in_tensors_.size() == 3) { + if (in_tensors_.size() == 3 && in_tensors_.at(kBiasIndex)->shape().size() == 1 && + in_tensors_.at(kBiasIndex)->DimensionSize(0) == output_channel) { memcpy(bias_data_, in_tensors_.at(2)->MutableData(), output_channel * sizeof(float)); } diff --git a/mindspore/lite/src/runtime/kernel/arm/fp32/deconvolution_winograd_fp32.cc b/mindspore/lite/src/runtime/kernel/arm/fp32/deconvolution_winograd_fp32.cc index b1e5b9aa19..90a4b766bf 100644 --- a/mindspore/lite/src/runtime/kernel/arm/fp32/deconvolution_winograd_fp32.cc +++ b/mindspore/lite/src/runtime/kernel/arm/fp32/deconvolution_winograd_fp32.cc @@ -286,7 +286,8 @@ int DeConvolutionWinogradCPUKernel::InitDataParam() { return RET_NULL_PTR; } memset(bias_data_, 0, deconv_param_->oc_up4_ * sizeof(float)); - if (in_tensors_.size() == 3) { + if (in_tensors_.size() == 3 && in_tensors_.at(kBiasIndex)->shape().size() == 1 && + in_tensors_.at(kBiasIndex)->DimensionSize(0) == conv_param_->output_channel_) { auto bias_tensor = in_tensors_.at(kBiasIndex); memcpy(bias_data_, bias_tensor->data_c(), conv_param_->output_channel_ * sizeof(float)); } diff --git a/mindspore/lite/test/models_mindspore.cfg b/mindspore/lite/test/models_mindspore.cfg index d3fb96061c..d10996b213 100644 --- a/mindspore/lite/test/models_mindspore.cfg +++ b/mindspore/lite/test/models_mindspore.cfg @@ -1,6 +1,6 @@ ssd.mindir 1.5 mobilenetv2_438.mindir 1.5 -#gate_u_net_small-1_110.mindir 1.5 +gate_u_net_small-1_110.mindir 1.5 shufflenetv2.mindir 1.5 #inceptionv3.mindir 1.5 googlenet.mindir 1.5