aboutsummaryrefslogtreecommitdiff
path: root/ethosu/vela/register_command_stream_generator.py
diff options
context:
space:
mode:
authorFredrik Svedberg <fredrik.svedberg@arm.com>2020-08-13 10:02:53 +0200
committerFredrik Svedberg <fredrik.svedberg@arm.com>2020-08-19 07:27:56 +0200
commit597fd3f88397501d61855a327c9632fc1dab3f57 (patch)
tree2c42401ed06b82a0252663568154bf8472fd8024 /ethosu/vela/register_command_stream_generator.py
parent30cb47abd68b125d5c3fc315948187a9ea8dbd43 (diff)
downloadethos-u-vela-597fd3f88397501d61855a327c9632fc1dab3f57.tar.gz
[MLBEDSW-2657] Softmax uint8/int8
Added graph rewrite of Softmax for uint8/int8. Signed-off-by: Fredrik Svedberg <fredrik.svedberg@arm.com> Change-Id: Iecdd5d2cd3156a601b3313debba4a3562e6be5d7
Diffstat (limited to 'ethosu/vela/register_command_stream_generator.py')
-rw-r--r--ethosu/vela/register_command_stream_generator.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/ethosu/vela/register_command_stream_generator.py b/ethosu/vela/register_command_stream_generator.py
index bdc37223..f8bee6c3 100644
--- a/ethosu/vela/register_command_stream_generator.py
+++ b/ethosu/vela/register_command_stream_generator.py
@@ -499,6 +499,7 @@ def generate_register_command_stream(nng, sg, arch, verbose=False):
if None in (input_scale, input2_scale, output_scale):
opa_scale = opb_scale = ofm_scale = 1
opa_shift = shift = 0
+ ofm_scale, shift = primary_op.attrs.get("rescale", [1, 0])
elif input_scale == input2_scale:
opa_scale, opb_scale, ofm_scale, shift = scaling.simplified_elementwise_add_sub_scale(
input_scale, input2_scale, output_scale
@@ -835,6 +836,8 @@ def generate_register_command_stream(nng, sg, arch, verbose=False):
elif faf == "LUT":
lut_index = int(activation.LUT_START.value) + primary_op.attrs.get("lut_index", -1)
assert activation.LUT_START.value <= lut_index <= activation.LUT_END.value, "LUT index out of range."
+ if cmd.ofm_tensor.dtype == DataType.int32:
+ lut_index |= (3 << 12) # Force I8 range
emit.cmd0_with_param(cmd0.NPU_SET_ACTIVATION, lut_index)
faf_min = ofm_quant_qmin
faf_max = ofm_quant_qmax