diff options
author | Fredrik Svedberg <fredrik.svedberg@arm.com> | 2020-09-29 10:00:39 +0200 |
---|---|---|
committer | patrik.gustavsson <patrik.gustavsson@arm.com> | 2020-09-30 07:52:39 +0000 |
commit | 0f98b361288c71fca327969346db32de098c797b (patch) | |
tree | 8b2905a6e763832a0029179d655c481b14e0a8a1 /ethosu/vela/graph_optimiser.py | |
parent | 0265f402c7ae1e875470298b4130fcc2f7ab4e23 (diff) | |
download | ethos-u-vela-0f98b361288c71fca327969346db32de098c797b.tar.gz |
[MLBEDSW-2802] Fix 5D tensor crash
Fixed crash in networks with 5D tensors.
Fixed crash for (int32) tensors without quantization.
Added validity checks for concatenation.
Moved unfusing of activation function from tflite_reader to graph_optimiser.
Signed-off-by: Fredrik Svedberg <fredrik.svedberg@arm.com>
Change-Id: Ib9ba8891dc95ef5491e15d0feedef44331a26393
Diffstat (limited to 'ethosu/vela/graph_optimiser.py')
-rw-r--r-- | ethosu/vela/graph_optimiser.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/ethosu/vela/graph_optimiser.py b/ethosu/vela/graph_optimiser.py index 2bd57ddd..81d5a188 100644 --- a/ethosu/vela/graph_optimiser.py +++ b/ethosu/vela/graph_optimiser.py @@ -433,6 +433,20 @@ def fixup_pack_input(op, arch): return op +def unfuse_activation_function(op, arch): + unfuse_ops = ("ConcatTFLite",) + if op.type in unfuse_ops and op.run_on_npu and op.attrs.get("fused_activation_function", None) is not None: + act = op.attrs["fused_activation_function"] + del op.attrs["fused_activation_function"] + act_op = Operation(act, op.name + act) + out_tens = op.outputs[0] + intermediate_tens = out_tens.clone("_act_intermediate") + act_op.set_output_tensor(out_tens) + act_op.add_input_tensor(intermediate_tens) + op.set_output_tensor(intermediate_tens) + + return op + def fixup_unpack_output(tens, arch): op = tens.ops[0] if op.type in set(("Unpack", "StridedSlice")): @@ -1087,6 +1101,7 @@ def optimise_graph_a(nng, arch, verbose_graph=False): fixup_fully_connected_input, convert_batched_fc_to_conv, fixup_pack_input, + unfuse_activation_function, fixup_conv2d_backprop, fixup_relus_with_differing_ifm_ofm_scaling, fixup_act_reorder, |