Skip to content

Commit 296140c

Browse files
committed
Tie quantization of add operands and result together
Signed-off-by: Per Åstrand <[email protected]> Change-Id: Ie2662ebd6555821fa1d813163daf4b209a319b44
1 parent 1f4b631 commit 296140c

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

backends/arm/arm_quantizer_utils.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -780,11 +780,11 @@ def _annotate_add(
780780
if _is_annotated([add_node]):
781781
continue
782782

783+
input_act0 = add_node.args[0]
783784
input_act_qspec = get_input_act_qspec(quantization_config)
784-
output_act_qspec = get_output_act_qspec(quantization_config)
785+
shared_with_input0_qspec = SharedQuantizationSpec((input_act0, add_node))
785786

786787
input_qspec_map = {}
787-
input_act0 = add_node.args[0]
788788
if isinstance(input_act0, Node):
789789
if _is_input_large_scalar(input_act0, gm):
790790
continue
@@ -798,11 +798,14 @@ def _annotate_add(
798798
continue
799799
if _is_input_non_float_tensor(input_act1):
800800
continue
801-
input_qspec_map[input_act1] = input_act_qspec
801+
if input_act0 is not input_act1:
802+
input_qspec_map[input_act1] = shared_with_input0_qspec
803+
else:
804+
input_qspec_map[input_act1] = input_act_qspec
802805

803806
add_node.meta["quantization_annotation"] = QuantizationAnnotation(
804807
input_qspec_map=input_qspec_map,
805-
output_qspec=output_act_qspec,
808+
output_qspec=shared_with_input0_qspec,
806809
_annotated=True,
807810
)
808811
return annotated_partitions

0 commit comments

Comments
 (0)