From f724b6418e7c6841ca681b8b30d02b69deee6b2d Mon Sep 17 00:00:00 2001 From: auphelia <jakobapk@web.de> Date: Fri, 26 Jun 2020 15:29:16 +0100 Subject: [PATCH] [Streamline] Check for data layout is None in MoveTransposePastScalarMul --- src/finn/transformation/streamline/reorder.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/finn/transformation/streamline/reorder.py b/src/finn/transformation/streamline/reorder.py index 748c7420a..d9f1f6a28 100644 --- a/src/finn/transformation/streamline/reorder.py +++ b/src/finn/transformation/streamline/reorder.py @@ -643,6 +643,12 @@ class MoveTransposePastScalarMul(Transformation): transp_out_shape = model.get_tensor_shape(middle_name) transp_in_layout = model.get_tensor_layout(start_name) transp_out_layout = model.get_tensor_layout(middle_name) + if transp_in_layout is None or transp_out_layout is None: + warnings.warn( + """Datalayout is not set for tensors. + Transformation can't be applied.""" + ) + continue if all(x == 1 for x in A.shape): # if the mul is scalar, we can simply swap the order of ops # rewire transpose input to be mul input @@ -659,6 +665,8 @@ class MoveTransposePastScalarMul(Transformation): graph.node.remove(transp_node) graph.node.insert(node_ind, transp_node) graph_modified = True - model = model.transform(InferDataLayouts()) - model = model.transform(InferShapes()) + + if graph_modified is True: + model = model.transform(InferDataLayouts()) + model = model.transform(InferShapes()) return (model, graph_modified) -- GitLab