diff --git a/aidge_core/show_graphview.py b/aidge_core/show_graphview.py index 14bb6c3e9a4c7be1e1aecee02a04a5dc42e0a5d4..cc4d7bc722fdfb99f77556b6c66265ca2125d142 100644 --- a/aidge_core/show_graphview.py +++ b/aidge_core/show_graphview.py @@ -58,20 +58,36 @@ def _create_dict(ordered_nodes : List[aidge_core.Node], write_trainable_params_e 'nb_outputs' : node.get_operator().nb_outputs()} inputs = [] - for input_idx in range(node.get_operator().nb_inputs()): - input_dict = {'dims' : node.get_operator().get_input(input_idx).dims(), - 'data_type' : str(node.get_operator().get_input(input_idx).dtype()), - 'data_format' : str(node.get_operator().get_input(input_idx).dformat())} - inputs.append(input_dict) + if node.get_operator().nb_inputs() > 0: + for input_idx in range(node.get_operator().nb_inputs()): + if node.get_operator().get_input(input_idx) is not None: + input_dict = {'dims' : node.get_operator().get_input(input_idx).dims(), + 'data_type' : str(node.get_operator().get_input(input_idx).dtype()), + 'data_format' : str(node.get_operator().get_input(input_idx).dformat())} + + elif node.get_operator().get_input(input_idx) is None: + input_dict = {'dims' : None, + 'data_type' : None, + 'data_format' : None} + + inputs.append(input_dict) node_dict['inputs'] = inputs outputs = [] - for output_idx in range(node.get_operator().nb_outputs()): - output_dict = {'dims' : node.get_operator().get_output(output_idx).dims(), - 'data_type' : str(node.get_operator().get_output(output_idx).dtype()), - 'data_format' : str(node.get_operator().get_output(output_idx).dformat())} - outputs.append(output_dict) + if node.get_operator().nb_outputs() > 0: + for output_idx in range(node.get_operator().nb_outputs()): + if node.get_operator().get_output(output_idx) is not None: + output_dict = {'dims' : node.get_operator().get_output(output_idx).dims(), + 'data_type' : str(node.get_operator().get_output(output_idx).dtype()), + 'data_format' : str(node.get_operator().get_output(output_idx).dformat())} + + elif node.get_operator().get_output(output_idx) is None: + output_dict = {'dims' : None, + 'data_type' : None, + 'data_format' : None} + + outputs.append(output_dict) node_dict['outputs'] = outputs @@ -199,6 +215,8 @@ def gview_to_json(gview : aidge_core.GraphView, json_path : Path, write_trainabl :type params_file_format: str, optional """ + json_path = Path(json_path) + if not json_path.suffix: if not json_path.is_dir(): json_path.mkdir(parents=True, exist_ok=True)