From 36ffaf3b7b5eda1cc1e88a8dc2a0882d910742bd Mon Sep 17 00:00:00 2001 From: Charles Xu Date: Wed, 5 Aug 2020 15:40:44 +0200 Subject: Skip the NOP resizebilinear op Signed-off-by: Charles Xu Change-Id: Ibd0cd152fbc46dea0c92fd1bf7da1ffc9803fdba --- ethosu/vela/graph_optimiser.py | 4 ++++ ethosu/vela/supported_operators.py | 2 ++ 2 files changed, 6 insertions(+) (limited to 'ethosu') diff --git a/ethosu/vela/graph_optimiser.py b/ethosu/vela/graph_optimiser.py index 9c6e1f5b..a9d5cce5 100644 --- a/ethosu/vela/graph_optimiser.py +++ b/ethosu/vela/graph_optimiser.py @@ -212,6 +212,10 @@ def fixup_resizebilinear(op, arch): if op.type == "ResizeBilinear": if op.inputs[0].shape[1] == 1 and op.inputs[0].shape[2] == 1: convert_resizebilinear_1x1_to_add(op) + elif op.inputs[0].shape == op.outputs[0].shape: + # Bypass nop resizebilinear + op.inputs = op.inputs[:1] + op.type = "Identity" return op diff --git a/ethosu/vela/supported_operators.py b/ethosu/vela/supported_operators.py index 73e219b5..b5853236 100644 --- a/ethosu/vela/supported_operators.py +++ b/ethosu/vela/supported_operators.py @@ -267,6 +267,8 @@ class SupportedOperators: if op.type == "ResizeBilinear": if op.inputs[0].shape[1] == 1 and op.inputs[0].shape[2] == 1: return True + if op.inputs[0].shape == op.outputs[0].shape: + return True upscaled_shape = [op.inputs[0].shape[1] * 2, op.inputs[0].shape[2] * 2] out_shape = op.outputs[0].shape[1:3] if not op.attrs["align_corners"] and out_shape != upscaled_shape: -- cgit v1.2.1