From 52bc1bf1a70e81248906b2028a168a79f4139b2f Mon Sep 17 00:00:00 2001 From: DominikaJedynak Date: Wed, 17 Nov 2021 14:19:39 +0100 Subject: [PATCH] Fix scale bug in quantized batch_dot (#20735) --- src/operator/nn/dnnl/dnnl_batch_dot-inl.h | 2 +- src/operator/nn/dnnl/dnnl_batch_dot.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/operator/nn/dnnl/dnnl_batch_dot-inl.h b/src/operator/nn/dnnl/dnnl_batch_dot-inl.h index 0d5d72828462..ee828b3a9037 100644 --- a/src/operator/nn/dnnl/dnnl_batch_dot-inl.h +++ b/src/operator/nn/dnnl/dnnl_batch_dot-inl.h @@ -48,7 +48,7 @@ struct DNNLDotParam : public dmlc::Parameter { dmlc::optional min_calib_range; // min float value calculated from calibration dataset dmlc::optional max_calib_range; // max float value calculated from calibration dataset - bool enable_float_output; // min float value calculated from calibration dataset + bool enable_float_output; DMLC_DECLARE_PARAMETER(DNNLDotParam) { DMLC_DECLARE_FIELD(transpose_a) .describe("If true then transpose the first input before dot.") diff --git a/src/operator/nn/dnnl/dnnl_batch_dot.cc b/src/operator/nn/dnnl/dnnl_batch_dot.cc index 26a1acef3763..71d08fa6b2dd 100644 --- a/src/operator/nn/dnnl/dnnl_batch_dot.cc +++ b/src/operator/nn/dnnl/dnnl_batch_dot.cc @@ -77,7 +77,7 @@ dnnl::primitive_attr GetQuantizationAttributes(const DNNLDotParam& param, // fused requantize => output is int out_scale_ = GetQuantizeScale(outputs[DotOut::out].dtype(), param.min_calib_range.value(), - param.min_calib_range.value()) / + param.max_calib_range.value()) / lhs_scale_ / rhs_scale_; attr.set_output_scales(0, {out_scale_}); } else if (param.enable_float_output) {