From 9ad5b95e4f4383df29da9dba6dd4a13e4a506335 Mon Sep 17 00:00:00 2001 From: Chen Fu <1316708+chenfucn@users.noreply.github.com> Date: Tue, 6 Sep 2022 11:54:41 -0400 Subject: [PATCH] Fix math domain error with log10 (#12841) fix math domain error with log10 --- onnxruntime/python/tools/quantization/qdq_loss_debug.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/onnxruntime/python/tools/quantization/qdq_loss_debug.py b/onnxruntime/python/tools/quantization/qdq_loss_debug.py index 6e9fc612b1..4983811c21 100644 --- a/onnxruntime/python/tools/quantization/qdq_loss_debug.py +++ b/onnxruntime/python/tools/quantization/qdq_loss_debug.py @@ -343,9 +343,11 @@ def compute_signal_to_quantization_noice_ratio( left = numpy.concatenate(xlist).flatten() right = numpy.concatenate(ylist).flatten() - Ps = numpy.linalg.norm(left) - Pn = numpy.linalg.norm(left - right) + numpy.finfo("float").eps - return 20 * math.log10(Ps / Pn) + epsilon = numpy.finfo("float").eps + tensor_norm = max(numpy.linalg.norm(left), epsilon) + diff_norm = max(numpy.linalg.norm(left - right), epsilon) + res = tensor_norm / diff_norm + return 20 * math.log10(res) def compute_weight_error(