-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlogger.py
37 lines (30 loc) · 1.13 KB
/
logger.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import tensorflow as tf
try:
from StringIO import StringIO
except ImportError:
from io import BytesIO
import scipy.misc
class Logger(object):
"""Tensorboard logger."""
def __init__(self, log_dir):
"""Initialize summary writer."""
self.writer = tf.summary.FileWriter(log_dir)
def scalar_summary(self, tag, value, step):
"""Add scalar summary."""
summary = tf.Summary(value=[tf.Summary.Value(tag=tag, simple_value=value)])
self.writer.add_summary(summary, step)
def image_summary(self,tag, batch, step):
""" Log a list of images"""
img_summaries=[]
for i, img in enumerate(batch):
try:
s=StringIO()
except:
s=BytesIO()
scipy.misc.toimage(img).save(s,format="png")
img_sum=tf.Summary.Image(encoded_image_string=s.getvalue(),
height=img.shape[0],
width=img.shape[1])
img_summaries.append(tf.Summary.Value(tag='%s/%d' % (tag, i), image=img_sum))
summary=tf.Summary(value=img_summaries)
self.writer.add_summary(summary,step)