From ca52a93e9f9a460ea53345fdb80bda8bff7e1f8b Mon Sep 17 00:00:00 2001 From: Megvii Engine Team Date: Fri, 12 Jun 2020 16:11:08 +0800 Subject: [PATCH] fix(mge/quant): fix init value of histogram observer GitOrigin-RevId: 9c8caa5f8f2b02e881601a9aa6ff30f654e30a07 --- python_module/megengine/quantization/observer.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/python_module/megengine/quantization/observer.py b/python_module/megengine/quantization/observer.py index bbd7c234f..8da83d103 100644 --- a/python_module/megengine/quantization/observer.py +++ b/python_module/megengine/quantization/observer.py @@ -194,7 +194,7 @@ class HistogramObserver(MinMaxObserver): self.bins = bins self.upsample_rate = upsample_rate self.dst_nbins = _metadata_dict[dtype].qmax - _metadata_dict[dtype].qmin + 1 - self.histogram = Buffer([0.0] * bins) + self.histogram = Buffer([-1] + [0.0] * (bins - 1)) def _non_linear_param_search(self): r"""Non-linear parameter search. @@ -393,8 +393,7 @@ class HistogramObserver(MinMaxObserver): histogram = self.histogram.numpy() new_min = x.min() new_max = x.max() - - if min_val == 0 or max_val == 0: + if histogram[0] == -1: new_histogram, _ = np.histogram(x, self.bins, (new_min, new_max)) else: new_min = min(new_min, min_val) -- GitLab