Browse Source

integrate_ir

tags/v1.2.0-rc1
sunsuodong 5 years ago
parent
commit
b6fe546ee7
5 changed files with 9 additions and 5 deletions
  1. +2
    -1
      mindspore/lite/src/runtime/kernel/arm/fp16/deconvolution_fp16.cc
  2. +2
    -1
      mindspore/lite/src/runtime/kernel/arm/fp16/deconvolution_winograd_fp16.cc
  3. +2
    -1
      mindspore/lite/src/runtime/kernel/arm/fp32/deconvolution_fp32.cc
  4. +2
    -1
      mindspore/lite/src/runtime/kernel/arm/fp32/deconvolution_winograd_fp32.cc
  5. +1
    -1
      mindspore/lite/test/models_mindspore.cfg

+ 2
- 1
mindspore/lite/src/runtime/kernel/arm/fp16/deconvolution_fp16.cc View File

@@ -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<float *>(in_tensors_.at(2)->MutableData()),
reinterpret_cast<float16_t *>(bias_data_), output_channel);
}


+ 2
- 1
mindspore/lite/src/runtime/kernel/arm/fp16/deconvolution_winograd_fp16.cc View File

@@ -340,7 +340,8 @@ int DeConvWinogradFp16CPUKernel::InitDataParam() {
}
memset(bias_data_, 0, deconv_param_->oc_up4_ * sizeof(float16_t));
auto fp16_bias_data = reinterpret_cast<float16_t *>(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<float *>(in_tensors_.at(kBiasIndex)->MutableData());
MS_ASSERT(src_bias);
for (int i = 0; i < conv_param_->output_channel_; ++i) {


+ 2
- 1
mindspore/lite/src/runtime/kernel/arm/fp32/deconvolution_fp32.cc View File

@@ -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));
}



+ 2
- 1
mindspore/lite/src/runtime/kernel/arm/fp32/deconvolution_winograd_fp32.cc View File

@@ -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));
}


+ 1
- 1
mindspore/lite/test/models_mindspore.cfg View File

@@ -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


Loading…
Cancel
Save