TensorFlow Loads Two Graphs
Load Two Graphs
We can only have one default graph in one TensorFlow session. To open and execute two graphs in one script, we should load two graphs and then create sessions based on these graphs separately.
Firstly, create two graphs:
with tf.Graph().as_default() as wav2letter_graph: tf.import_graph_def(load_graph(wav2letter_graph_file), name="") with tf.Graph().as_default() as deep_speech_graph: tf.import_graph_def(load_graph(deep_speech_graph_file), name="")
Then create two sessions and inference in these sessions respectively:
with tf.Session(graph=wav2letter_graph) as sess: # Do something with tf.Session(graph=deep_speech_graph) as sess: # Do something
Difference Between Graph and GraphDef
# Read GraphDef from protobuf file with tf.gfile.GFile(graph_def_pb_file, "rb") as f: graph_def = tf.GraphDef() graph_def.ParseFromString(f.read()) # Import GraphDef as the default graph with tf.Graph().as_default() as graph: tf.import_graph_def(graph_def, name="")