aboutsummaryrefslogtreecommitdiff
path: root/ethosu/vela/scaling.py
diff options
context:
space:
mode:
Diffstat (limited to 'ethosu/vela/scaling.py')
-rw-r--r--ethosu/vela/scaling.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/ethosu/vela/scaling.py b/ethosu/vela/scaling.py
index b255f938..785cddc6 100644
--- a/ethosu/vela/scaling.py
+++ b/ethosu/vela/scaling.py
@@ -42,6 +42,15 @@ def quantise_scale(scale):
return significand_q31, shift
+# Reduced precision quantization for int16
+def reduced_quantise_scale(scale):
+ multiplier, shift = quantise_scale(scale)
+ reduced_multiplier = int((multiplier + (1 << 15)) >> 16)
+ reduced_shift = shift - 16
+
+ return reduced_multiplier, reduced_shift
+
+
# Calculate global OFM scale for Average Pooling
def quantise_pooling_scale(nr_kernel_elements, rescale_bits=0):
_, k = math.frexp(nr_kernel_elements - 1)