que - conectar tensores de entrada y salida de dos gráficos diferentes tensorflow
tensorflow entrenar (1)
Suponiendo que sus archivos Protobuf contienen tf.GraphDef
serializados tf.GraphDef
, puede usar el argumento tf.import_graph_def()
de tf.import_graph_def()
para conectar los dos gráficos:
# Import graph1.
graph1_def = ... # tf.GraphDef object
out1_name = "..." # name of the graph1out tensor in graph1_def.
graph1out, = tf.import_graph_def(graph1_def, return_elements=[out_name])
# Import graph2 and connect it to graph1.
graph2_def = ... # tf.GraphDef object
inp2_name = "..." # name of the graph2inp tensor in graph2_def.
out2_name = "..." # name of the graph2out tensor in graph2_def.
graph2out, = tf.import_graph_def(graph2_def, input_map={inp2_name: graph1out},
return_elements=[out2_name])
Tengo 2 archivos ProtoBuf , cargo y reenvío cada uno de ellos por separado, llamando
out1=session.run(graph1out, feed_dict={graph1inp:inp1})
seguido por
final=session.run(graph2out, feed_dict={graph2inp:out1})
donde graph1inp y graph1out son nodo de entrada y nodo de salida del gráfico 1 y terminología similar para el gráfico 2
Ahora, quiero conectar graph1out con graph2inp de modo que solo tenga que ejecutar graph2out mientras alimento graph1inp con inp1 . En otras palabras, conectar los tensores de entrada y salida de los 2 gráficos implicados de tal forma que una ejecución sea suficiente para ejecutar la inferencia en ambos archivos ProtoBuf entrenados.