diff --git a/src/qonnx/transformation/general.py b/src/qonnx/transformation/general.py index 9d45b9fc..654bee4e 100644 --- a/src/qonnx/transformation/general.py +++ b/src/qonnx/transformation/general.py @@ -147,6 +147,19 @@ def apply(self, model): return (model, False) +class GiveUniqueTensorNames(Transformation): + """Give unique tensor names to all tensors.""" + + def apply(self, model): + names = model.get_all_tensor_names() + i = 0 + for name in names: + model.rename_tensor(name, f"tensor_{i}") + i += 1 + # return model_was_changed = False as single iteration is always enough + return (model, False) + + class GiveReadableTensorNames(Transformation): """Give more human-readable names to all internal tensors. You should apply GiveUniqueNodeNames prior to this transform to avoid empty node names, @@ -155,7 +168,7 @@ class GiveReadableTensorNames(Transformation): def apply(self, model): # to ensure we can use rename_tensor safely (without renaming existing # tensors) we start by giving random names to all tensors - model = model.transform(GiveRandomTensorNames()) + model = model.transform(GiveUniqueTensorNames()) graph = model.graph for n in graph.node: assert n.name != "", "Found empty node name"