diff options
author | Fredrik Svedberg <fredrik.svedberg@arm.com> | 2020-03-30 13:15:28 +0200 |
---|---|---|
committer | Tim Hall <tim.hall@arm.com> | 2020-06-18 17:53:52 +0100 |
commit | d67c0aaccd91f4be3ea76f69fa063301ffc73aa3 (patch) | |
tree | a9ad54b32d18685347847fcc59db8374bbe36233 /ethosu/vela/scaling.py | |
parent | fed918bfb26dc330a5f066ea5947bc5eb2db4651 (diff) | |
download | ethos-u-vela-d67c0aaccd91f4be3ea76f69fa063301ffc73aa3.tar.gz |
MLBEDSW-819: make int16 changes
Enabled int16 support quantization to match the reference.
Change-Id: Ib369640241a9a491f2b0bc52d7f6cb025e30344b
Signed-off-by: Fredrik Svedberg <fredrik.svedberg@arm.com>
Diffstat (limited to 'ethosu/vela/scaling.py')
-rw-r--r-- | ethosu/vela/scaling.py | 9 |
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) |