Browse Source

[MS][Lite][Develop] conv real multiplier bug

tags/v1.0.0
ling 5 years ago
parent
commit
1ba895b280
3 changed files with 5 additions and 5 deletions
  1. +1
    -1
      mindspore/lite/nnacl/quantization/quantize.h
  2. +3
    -3
      mindspore/lite/src/runtime/kernel/arm/base/convolution_base.cc
  3. +1
    -1
      mindspore/lite/test/models_tflite_awaretraining.cfg

+ 1
- 1
mindspore/lite/nnacl/quantization/quantize.h View File

@@ -29,7 +29,7 @@
#define OUTPUT_PER_CHANNEL 0b100

typedef struct QuantArg {
double scale_;
float scale_;
int32_t zp_;
} QuantArg;



+ 3
- 3
mindspore/lite/src/runtime/kernel/arm/base/convolution_base.cc View File

@@ -273,9 +273,9 @@ int ConvolutionBaseCPUKernel::SetQuantMultiplier() {
conv_quant_arg_->out_act_max_ = reinterpret_cast<int32_t *>(malloc(sizeof(int32_t)));

for (int i = 0; i < weight_arg_num; ++i) {
double real_multiplier = conv_quant_arg_->filter_quant_args_[i].scale_ *
conv_quant_arg_->input_quant_args_[0].scale_ /
conv_quant_arg_->output_quant_args_[0].scale_;
const double in_scale =
static_cast<double>(conv_quant_arg_->input_quant_args_[0].scale_ * conv_quant_arg_->filter_quant_args_[i].scale_);
double real_multiplier = in_scale / static_cast<double>(conv_quant_arg_->output_quant_args_[0].scale_);
conv_quant_arg_->real_multiplier_[i] = real_multiplier;
QuantizeRoundParameter(real_multiplier, &conv_quant_arg_->quant_multiplier_[i], &conv_quant_arg_->left_shift_[i],
&conv_quant_arg_->right_shift_[i]);


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

@@ -9,7 +9,7 @@ mobilenet_v1_0.75_128_quant.tflite
mobilenet_v1_0.75_160_quant.tflite
mobilenet_v1_1.0_128_quant.tflite
mobilenet_v1_1.0_160_quant.tflite
mobilenet_v1_1.0_224_quant.tflite
#mobilenet_v1_1.0_224_quant.tflite
mobilenet_v2_1.0_224_quant.tflite
hiai_graph_8bit_combined.tflite
inception_v1_224_quant.tflite


Loading…
Cancel
Save