Save Tensorflow graph for viewing in Tensorboard without summary operations

I have a rather complex Tensorflow graph that I would like to visualize for optimization purposes. Is there a function that I can name that simply saves the graph for viewing in Tensorboard without having to comment on the variables?

I tried this:

merged = tf.merge_all_summaries() writer = tf.train.SummaryWriter("/Users/Name/Desktop/tf_logs", session.graph_def) 

But there was no way out. It uses a 0.6 wheel.

This seems to be related: The graphical visualizer is not displayed in the tensor for the seq2seq model

+13
tensorflow tensorboard
source share
5 answers

For efficiency, tf.train.SummaryWriter written asynchronously to disk. To ensure that the graph appears in the log, you must call close() or flush() to write before the program exits.

+14
source share

You can also display the graph as a prototype of GraphDef and load it directly into TensorBoard. You can do this without starting a session or starting a model.

 ## ... create graph ... >>> graph_def = tf.get_default_graph().as_graph_def() >>> graphpb_txt = str(graph_def) >>> with open('graphpb.txt', 'w') as f: f.write(graphpb_txt) 

This will output a file that looks something like this, depending on the features of your model.

 node { name: "W" op: "Const" attr { key: "dtype" value { type: DT_FLOAT } } ... version 1 

In TensorBoard, you can use the Download button to download it from disk.

+17
source share

This worked for me:

 graph = tf.Graph() with graph.as_default(): ... build graph (without annotations) ... writer = tf.summary.FileWriter(logdir='logdir', graph=graph) writer.flush() 

The graph is loaded automatically when the tensor panel starts using "--logdir = logdir /". No download button required.

+9
source share

For clarity, I used the .flush() method and solved the problem:

Initialize the author as follows:

 writer = tf.train.SummaryWriter("/home/rob/Dropbox/ConvNets/tf/log_tb", sess.graph_def) 

and use the entry with:

 writer.add_summary(summary_str, i) writer.flush() 
+4
source share

I did not succeed, except for this

 # Helper for Converting Frozen graph from Disk to TF serving compatible Model def get_graph_def_from_file(graph_filepath): tf.reset_default_graph() with ops.Graph().as_default(): with tf.gfile.GFile(graph_filepath, 'rb') as f: graph_def = tf.GraphDef() graph_def.ParseFromString(f.read()) return graph_def #let us get the output nodes from the graph graph_def =get_graph_def_from_file('/coding/ssd_inception_v2_coco_2018_01_28/frozen_inference_graph.pb') with tf.Session(graph=tf.Graph()) as session: tf.import_graph_def(graph_def, name='') writer = tf.summary.FileWriter(logdir='/coding/log_tb/1', graph=session.graph) writer.flush() 

Then with tuberculosis it worked

 #ssh -L 6006:127.0.0.1:6006 root@<remoteip> # for tensor board - in your local machine type 127.0.0.1 !tensorboard --logdir '/coding/log_tb/1' 
0
source share

All Articles