diff --git a/lite/core/mir/quantized_op_attributes_inference_pass.cc b/lite/core/mir/quantized_op_attributes_inference_pass.cc index 54a4e779c6b6d0150cad966a4454f30624fe6dae..40cad8f6af75300ab85753b16e391daeeadc6c2f 100644 --- a/lite/core/mir/quantized_op_attributes_inference_pass.cc +++ b/lite/core/mir/quantized_op_attributes_inference_pass.cc @@ -58,6 +58,11 @@ void QuantizedOpAttributesInferencePass::Apply( } if (found) { inst.mutable_op_info()->SetAttr("output_scale", output_scale); + } else if (op_info->HasAttr("output_scale")) { + int bit_length = op_info->GetAttr("bit_length"); + int range = (1 << (bit_length - 1)) - 1; + output_scale = op_info->GetAttr("output_scale"); + inst.mutable_op_info()->SetAttr("output_scale", output_scale / range); } if (op_info->HasAttr("output_scale")) { inst.mutable_op_info()->SetAttr("enable_int8", true);