aboutsummaryrefslogtreecommitdiff
path: root/ethosu/vela/tflite_graph_optimiser.py
diff options
context:
space:
mode:
Diffstat (limited to 'ethosu/vela/tflite_graph_optimiser.py')
-rw-r--r--ethosu/vela/tflite_graph_optimiser.py13
1 files changed, 6 insertions, 7 deletions
diff --git a/ethosu/vela/tflite_graph_optimiser.py b/ethosu/vela/tflite_graph_optimiser.py
index 5d6d7071..f3ca1b63 100644
--- a/ethosu/vela/tflite_graph_optimiser.py
+++ b/ethosu/vela/tflite_graph_optimiser.py
@@ -871,7 +871,7 @@ def fixup_relus_with_differing_ifm_ofm_scaling(op, arch, nng):
# Add explicit rescaling
rescale = ifm.quantization.scale_f32 / ofm.quantization.scale_f32
multiplier, shift = scaling.quantise_scale(rescale)
- relu_fused_op.rescale = ExplicitScaling(False, [shift], [multiplier])
+ relu_fused_op.explicit_scaling = ExplicitScaling(False, [shift], [multiplier])
# Tidy up and assign the ifm and ofm to the new op
ifm.consumer_list.remove(op)
@@ -991,8 +991,8 @@ def convert_prelu(op, arch, nng):
DebugDatabase.add_optimised(op, relu_op)
# Add scaled and alpha multiplied values (without scaling)
- add_op = Operation(Op.RescaleAdd, op.name + "_add")
- add_op.rescale = (1, 0) # No scale or shift
+ add_op = Operation(Op.Add, op.name + "_add")
+ add_op.explicit_scaling = ExplicitScaling(False, shift=[0], multiplier=[1]) # No scaling
add_op.add_input_tensor(fm_alpha)
add_op.add_input_tensor(fm_scaled)
add_op.set_output_tensor(ofm)
@@ -1180,8 +1180,8 @@ def convert_lrelu_to_mul_max(op, arch):
mul_ifm.dtype = DataType.int32
min_op.set_output_tensor(mul_ifm)
min_op.set_ifm_ofm_shapes()
- new_op = Op.RescaleAdd
- op.rescale = (1, 0) # No scale or shift
+ new_op = Op.Add
+ op.explicit_scaling = ExplicitScaling(False, shift=[0], multiplier=[1]) # No scaling
DebugDatabase.add_optimised(op, min_op)
# Add multiplication with alpha
@@ -1196,8 +1196,7 @@ def convert_lrelu_to_mul_max(op, arch):
if is_converted_prelu:
# The LeakyRelu was the result from convert_prelu and the scaling is provided
scalar, alpha_scale, alpha_shift = op.attrs["alpha_scaling"]
- mul_alpha.type = Op.RescaleMul
- mul_alpha.rescale = [alpha_scale, alpha_shift]
+ mul_alpha.explicit_scaling = ExplicitScaling(False, [alpha_shift], [alpha_scale])
elif alpha == 0 or np.isinf(1 / alpha):
# Handling of alpha near or at zero
quantization.scale_f32 = np.float32(1)