aboutsummaryrefslogtreecommitdiff
path: root/ethosu/vela/softmax.py
diff options
context:
space:
mode:
authorFredrik Svedberg <fredrik.svedberg@arm.com>2022-09-27 14:13:01 +0200
committerFredrik Svedberg <fredrik.svedberg@arm.com>2022-10-04 09:20:33 +0000
commit4a434cba156cdfb2613b7ebe4d4a4ec9f85ba616 (patch)
tree47ebce38221b92b8eeb34e8b5f558223dcd4d3e3 /ethosu/vela/softmax.py
parentdda4caed56d2cd3a9d5927bf405859c1777ac909 (diff)
downloadethos-u-vela-4a434cba156cdfb2613b7ebe4d4a4ec9f85ba616.tar.gz
MLBEDSW-6969 Remove RescaleAdd and RescaleMul operators
Removed RescaleAdd and RescaleMul operators in favour of Operation.explicit_scale and removed Operation.rescale. Signed-off-by: Fredrik Svedberg <fredrik.svedberg@arm.com> Change-Id: Idccd8851731d4bb8d4e84970e0fd6b409d7d4e45
Diffstat (limited to 'ethosu/vela/softmax.py')
-rw-r--r--ethosu/vela/softmax.py19
1 files changed, 9 insertions, 10 deletions
diff --git a/ethosu/vela/softmax.py b/ethosu/vela/softmax.py
index 9565bc5c..1655427e 100644
--- a/ethosu/vela/softmax.py
+++ b/ethosu/vela/softmax.py
@@ -28,6 +28,7 @@ from .api import NpuRoundingMode
from .data_type import DataType
from .debug_database import DebugDatabase
from .operation import ActivationFunction
+from .operation import ExplicitScaling
from .operation import Op
from .operation import Operation
from .operation_util import create_add
@@ -35,7 +36,6 @@ from .operation_util import create_clz
from .operation_util import create_depthwise_maxpool
from .operation_util import create_mul
from .operation_util import create_reduce_sum
-from .operation_util import create_rescale_add
from .operation_util import create_shl
from .operation_util import create_shr
from .operation_util import create_sub
@@ -351,16 +351,15 @@ class SoftMax:
f0_one_const = create_const_tensor(
"F0_one_const", [1, 1, 1, 1], DataType.int32, [(1 << 31) - 1], np.int32, quantization=no_scale_quant
)
- half_denominator = add_op_get_ofm(
- create_rescale_add(
- f"{self.op.name}_add{pass_number}",
- f0_one_const,
- shifted_sum_minus_one,
- (1, 1), # Custom rescale
- one_scale_quant,
- activation,
- )
+ add_op = create_add(
+ f"{self.op.name}_add{pass_number}",
+ f0_one_const,
+ shifted_sum_minus_one,
+ one_scale_quant,
+ activation,
)
+ add_op.explicit_scaling = ExplicitScaling(False, shift=[1], multiplier=[1]) # Custom rescale
+ half_denominator = add_op_get_ofm(add_op)
# PASS 11 - Multiply
neg_32_over_17 = create_const_tensor(