diff options
author | Louis Verhaard <louis.verhaard@arm.com> | 2020-09-30 12:11:49 +0200 |
---|---|---|
committer | Louis Verhaard <louis.verhaard@arm.com> | 2020-09-30 16:04:23 +0200 |
commit | 8912c5311d4ccf2ad1bbb57fdc71c1f25037f56e (patch) | |
tree | 69f1774a1b6a88ed7e2b0c748d44a8596c29ce93 /ethosu/vela/graph_optimiser.py | |
parent | 530992a3943eb21e12f6d0e638940d7df27a9f51 (diff) | |
download | ethos-u-vela-8912c5311d4ccf2ad1bbb57fdc71c1f25037f56e.tar.gz |
MLBEDSW-3153: Fix overflow in sigmoid LUT
Overflow could occur in the calculation of the LUT table for sigmoid,
for big negative inputs.
Change-Id: I62a33c68de03e9a7a7e4fe2cbd5835c384dc3643
Signed-off-by: Louis Verhaard <louis.verhaard@arm.com>
Diffstat (limited to 'ethosu/vela/graph_optimiser.py')
-rw-r--r-- | ethosu/vela/graph_optimiser.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/ethosu/vela/graph_optimiser.py b/ethosu/vela/graph_optimiser.py index 81d5a188..e7c15cdc 100644 --- a/ethosu/vela/graph_optimiser.py +++ b/ethosu/vela/graph_optimiser.py @@ -27,9 +27,9 @@ from . import scaling from .data_type import DataType from .errors import UnsupportedFeatureError from .ethos_u55_regs.ethos_u55_regs import resampling_mode +from .numeric_util import clamp_sigmoid from .numeric_util import full_shape from .numeric_util import round_away_zero -from .numeric_util import sigmoid from .operation import create_avgpool_nop from .operation import NpuBlockType from .operation import Operation @@ -447,6 +447,7 @@ def unfuse_activation_function(op, arch): return op + def fixup_unpack_output(tens, arch): op = tens.ops[0] if op.type in set(("Unpack", "StridedSlice")): @@ -974,7 +975,7 @@ def convert_lrelu(op, arch): def convert_tanh_sigmoid_to_lut(op, arch): # Converts int8/uint8 Sigmoid and Tanh to a LUT based solution if op.type == "Sigmoid": - return convert_to_lut8(op, sigmoid) + return convert_to_lut8(op, clamp_sigmoid) elif op.type == "Tanh": return convert_to_lut8(op, math.tanh) return op |