Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to extract and save images from tensorboard event summary?

Given a tensorflow event file, how can I extract images corresponding to a specific tag, and then save them to disk in a common format e.g. .png?

like image 371
eqzx Avatar asked Nov 10 '17 23:11

eqzx


People also ask

How do I export data from TensorBoard?

Just check the "Data download links" option on the upper-left in TensorBoard, and then click on the "CSV" button that will appear under your scalar summary. Save this answer. Show activity on this post.


2 Answers

You could extract the images like so. The output format may depend on how the image is encoded in the summary, so the resulting write to disk may need to use another format besides .png

import os
import scipy.misc
import tensorflow as tf

def save_images_from_event(fn, tag, output_dir='./'):
    assert(os.path.isdir(output_dir))

    image_str = tf.placeholder(tf.string)
    im_tf = tf.image.decode_image(image_str)

    sess = tf.InteractiveSession()
    with sess.as_default():
        count = 0
        for e in tf.train.summary_iterator(fn):
            for v in e.summary.value:
                if v.tag == tag:
                    im = im_tf.eval({image_str: v.image.encoded_image_string})
                    output_fn = os.path.realpath('{}/image_{:05d}.png'.format(output_dir, count))
                    print("Saving '{}'".format(output_fn))
                    scipy.misc.imsave(output_fn, im)
                    count += 1  

And then an example invocation may look like:

save_images_from_event('path/to/event/file', 'tag0')

Note that this assumes the event file is fully written -- in the case that it's not, some error handling is probably necessary.

like image 178
eqzx Avatar answered Sep 18 '22 15:09

eqzx


For those who can also do without code, there is an elegant way in the Tensorboard UI.

  1. In the upper left corner, select the checkbox Show data download links
  2. In the lower left corner, select the download icon which lets you download a svg file.
  3. In the lower right corner, select data download links for the raw data, handy for those who want to do more sophisticated data analysis or data visualization

enter image description here

like image 23
Agile Bean Avatar answered Sep 17 '22 15:09

Agile Bean