aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrik Gustavsson <patrik.gustavsson@arm.com>2020-12-22 09:16:50 +0100
committerPatrik Gustavsson <patrik.gustavsson@arm.com>2020-12-22 15:06:09 +0100
commitcc6915ce439a985e5f36e5ebc317c2a3f8bf9ce3 (patch)
tree57c2b8b36d4593090ef9edb321a63bd20446a548
parent6bb8f6700e0bc1a254fab745b8d3fac767270304 (diff)
downloadethos-u-vela-cc6915ce439a985e5f36e5ebc317c2a3f8bf9ce3.tar.gz
MLBEDSW-3790 Fix for cpu ops has no op.ifm_shapes
Fixes for MLBEDSW-3790, MLBEDSW-3792 and MLBEDSW-3794 3790: Fix for cpu ops has no op.ifm_shapes - Check before added to pass 3792: Debug database, fix for cpu op with 5D tensor - Do not try to convert to 4D 3794: Fix covert ResizeBilinear to 2x2 maxpool -set ifm ofm shapes Signed-off-by: Patrik Gustavsson <patrik.gustavsson@arm.com> Change-Id: I9144dc77e2f6e5c3707c5bf2f204c1d13d5148ba
-rw-r--r--ethosu/vela/debug_database.py14
-rw-r--r--ethosu/vela/graph_optimiser.py1
-rw-r--r--ethosu/vela/pass_packing.py2
3 files changed, 4 insertions, 13 deletions
diff --git a/ethosu/vela/debug_database.py b/ethosu/vela/debug_database.py
index 77e13eb0..69648089 100644
--- a/ethosu/vela/debug_database.py
+++ b/ethosu/vela/debug_database.py
@@ -23,7 +23,6 @@ import lxml.etree as xml
from . import numeric_util
from .operation import Operation
-from .shape4d import Shape4D
UntypedDict = Dict[Any, Any]
UntypedList = List[Any]
@@ -79,18 +78,9 @@ class DebugDatabase:
src_uid = cls._sourceUID[parent]
uid = len(cls._optimisedUID)
cls._optimisedUID[op] = (uid, src_uid)
- ofm_shape = op.ofm_shapes[0] if op.ofm_shapes else Shape4D(op.outputs[0].shape)
+ ofm_shape = numeric_util.full_shape(3, op.outputs[0].shape, 1)
cls._optimisedTable.append(
- [
- uid,
- src_uid,
- op.type,
- op.kernel.width,
- op.kernel.height,
- ofm_shape.width,
- ofm_shape.height,
- ofm_shape.depth,
- ]
+ [uid, src_uid, op.type, op.kernel.width, op.kernel.height, ofm_shape[-2], ofm_shape[-3], ofm_shape[-1]]
)
@classmethod
diff --git a/ethosu/vela/graph_optimiser.py b/ethosu/vela/graph_optimiser.py
index 1128a311..0754f7e1 100644
--- a/ethosu/vela/graph_optimiser.py
+++ b/ethosu/vela/graph_optimiser.py
@@ -276,6 +276,7 @@ def convert_resizebilinear_to_2x2_pool(op):
scaled_op.attrs["rescale"] = 1 / 128
elif "rescale" in scaled_op.attrs:
del scaled_op.attrs["rescale"]
+ scaled_op.set_ifm_ofm_shapes()
return op
diff --git a/ethosu/vela/pass_packing.py b/ethosu/vela/pass_packing.py
index 0820034d..35f53300 100644
--- a/ethosu/vela/pass_packing.py
+++ b/ethosu/vela/pass_packing.py
@@ -414,7 +414,7 @@ def pack_into_passes(nng, arch, verbose_packing=False):
else:
ps.ifm_tensor = ifm_tensor
ps.ifm2_tensor = None
- if ps.primary_op is not None:
+ if ps.primary_op is not None and ps.primary_op.run_on_npu:
ps.ifm_shapes.append(ps.primary_op.ifm_shapes[0])
ps.ofm_tensor = ofm_tensor