tutorial - Guarde el gráfico de Tensorflow para ver en Tensorboard sin operaciones de resumen
tensorflow hello world (4)
También puede volcar el gráfico como un protobuf GraphDef y cargarlo directamente en TensorBoard. Puede hacer esto sin iniciar una sesión o ejecutar el modelo.
## ... create graph ...
>>> graph_def = tf.get_default_graph().as_graph_def()
>>> graphpb_txt = str(a.graph.as_graph_def())
>>> with open(''graphpb.txt'', ''w'') as f: f.write(graphpb_txt)
Esto dará como resultado un archivo que se ve más o menos así, dependiendo de los detalles de su modelo.
node {
name: "W"
op: "Const"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
...
version 1
En TensorBoard, puede usar el botón "Subir" para cargarlo desde el disco.
Tengo un gráfico de Tensorflow bastante complicado que me gustaría visualizar para fines de optimización. ¿Hay alguna función a la que pueda llamar que simplemente guarde el gráfico para ver en Tensorboard sin necesidad de anotar variables?
Intenté esto:
merged = tf.merge_all_summaries()
writer = tf.train.SummaryWriter("/Users/Name/Desktop/tf_logs", session.graph_def)
Pero no se produjo ningún producto. Esto está usando la rueda 0.6.
Esto parece estar relacionado: la visualización del gráfico no se muestra en tensorboard para el modelo seq2seq
Para mayor claridad, así es como utilicé el método .flush()
y resolví el problema:
Inicializa al escritor con:
writer = tf.train.SummaryWriter("/home/rob/Dropbox/ConvNets/tf/log_tb", sess.graph_def)
y usa al escritor con:
writer.add_summary(summary_str, i)
writer.flush()
Para mayor eficiencia, el tf.train.SummaryWriter
registra asincrónicamente en el disco. Para asegurarse de que el gráfico aparece en el registro, debe llamar a close()
o flush()
en el escritor antes de que el programa finalice.
Esto funcionó para mí:
graph = tf.Graph()
with graph.as_default():
... build graph (without annotations) ...
writer = tf.summary.FileWriter(logdir=''logdir'', graph=graph)
writer.flush()
El gráfico se carga automáticamente al iniciar tensorboard con "--logdir = logdir /". No se necesita el botón "cargar".