From 3ea64436468acc4b5a95b71c92726f85d89dc081 Mon Sep 17 00:00:00 2001 From: Axel Farrugia <axel.farrugia@cea.fr> Date: Fri, 21 Mar 2025 10:42:01 +0100 Subject: [PATCH] [Fix](Exports) labels are now generted once and optional inputs are ignored --- aidge_core/export_utils/generate_main.py | 35 ++++++++++++++---------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/aidge_core/export_utils/generate_main.py b/aidge_core/export_utils/generate_main.py index b8aa14517..ae86116dc 100644 --- a/aidge_core/export_utils/generate_main.py +++ b/aidge_core/export_utils/generate_main.py @@ -32,30 +32,35 @@ def generate_main_cpp(export_folder: str, graph_view: aidge_core.GraphView, inpu gv_inputs: list[tuple[aidge_core.Node, int]] = graph_view.get_ordered_inputs() gv_outputs: list[tuple[aidge_core.Node, int]] = graph_view.get_ordered_outputs() + # Generate input file(s) for in_node, in_idx in gv_inputs: in_node_input, in_node_input_idx = in_node.input(in_idx) in_name = f"{in_node.name()}_input_{in_idx}" if in_node_input is None else f"{in_node_input.name()}_output_{in_node_input_idx}" - inputs_name.append(in_name) input_tensor = in_node.get_operator().get_input(in_idx) - if input_tensor is None or input_tensor.undefined() or not input_tensor.has_impl(): - if inputs_tensor is not None: - aidge_core.Log.notice("No support for inputs_tensor argument yet.") - aidge_core.Log.notice(f"No input tensor set for {in_name}, main generated will not be functionnal after code generation.") - else: - aidge_core.Log.notice(f"No input tensor set for {in_name}, main generated will not be functionnal after code generation.") + # if input_tensor is None or input_tensor.undefined() or not input_tensor.has_impl(): + # if inputs_tensor is not None: + # aidge_core.Log.notice("No support for inputs_tensor argument yet.") + # aidge_core.Log.notice(f"No input tensor set for {in_name}, main generated will not be functionnal after code generation.") + # else: + # aidge_core.Log.notice(f"No input tensor set for {in_name}, main generated will not be functionnal after code generation.") + + # Ignore optional inputs + if in_node.get_operator().input_category(in_idx) == aidge_core.InputCategory(2): + aidge_core.Log.notice(f"Ignoring optional input {in_name}.") else: - # Generate input file + inputs_name.append(in_name) generate_input_file( export_folder=str(Path(export_folder) / "data"), array_name=in_name, tensor=input_tensor) - if labels is not None: - # Generate labels - generate_input_file( - export_folder=str(Path(export_folder) / "data"), - array_name="labels", - tensor=labels - ) + + # Generate labels file + if labels is not None: + generate_input_file( + export_folder=str(Path(export_folder) / "data"), + array_name="labels", + tensor=labels + ) for out_node, out_id in gv_outputs: outputs_name.append(f"{out_node.name()}_output_{out_id}") -- GitLab