in src/neo_loader/helpers/tf_model_helper.py [0:0]
def __extract_input_and_output_tensors_from_frozen_graph(self) -> None:
# https://github.com/neo-ai/neo-ai-dlr/blob/master/python/dlr/tf_model.py#L37
tf.reset_default_graph()
graph = self.__get_graph_from_frozen_graph_model()
input_tensors = OrderedDict()
output_tensors = OrderedDict()
for op in graph.get_operations():
if op.type == 'Placeholder' and op.inputs.__len__() == 0 and op.outputs.__len__() == 1:
input_tensors[op.outputs[0].name] = op.outputs[0]
if op.type not in self.UNLIKELY_OUTPUT_TYPES and op.outputs.__len__() == 1:
output_tensors[op.outputs[0].name] = op.outputs[0]
output_tensor_names = output_tensors.keys()
for op in graph.get_operations():
for in_t in op.inputs:
if in_t.name in output_tensor_names:
output_tensors.pop(in_t.name)
for cont_op in op.control_inputs:
for out_t in cont_op.outputs:
if out_t.name in output_tensor_names:
output_tensors.pop(out_t.name)
tf.reset_default_graph()
self.__input_tensor_names = list(input_tensors.keys())
self.__output_tensor_names = list(output_tensors.keys())
self.__input_tensors = list(input_tensors.values())
self.__output_tensors = list(output_tensors.values())