in src/neo_loader/helpers/tf_model_helper.py [0:0]
def get_tf_graph_from_graph_model_v2(self):
from tensorflow.python.framework.convert_to_constants import convert_variables_to_constants_v2
tags = self.__get_tag_set()
loaded = tf.compat.v2.saved_model.load(self.model_path.as_posix(), tags=tags)
for shape in self.__data_shape.values():
tensor_spec = tf.TensorSpec(tuple(shape))
break
if len(loaded.signatures) == 0:
f = loaded.__call__.get_concrete_function(tensor_spec)
elif 'serving_default' in loaded.signatures:
f = loaded.signatures['serving_default']
else:
f = loaded.signatures[list(loaded.signatures.keys())[0]]
frozen_func = convert_variables_to_constants_v2(f, lower_control_flow=True)
tf_graph = frozen_func.graph.as_graph_def(add_shapes=True)
return tf_graph