|
from tensorboardX import SummaryWriter |
|
from tensorboard.compat.tensorflow_stub.pywrap_tensorflow import PyRecordReader_New |
|
from tensorboardX.proto import event_pb2 |
|
|
|
import numpy as np |
|
import pytest |
|
import unittest |
|
import time |
|
freqs = [262, 294, 330, 349, 392, 440, 440, 440, 440, 440, 440] |
|
|
|
true_positive_counts = [75, 64, 21, 5, 0] |
|
false_positive_counts = [150, 105, 18, 0, 0] |
|
true_negative_counts = [0, 45, 132, 150, 150] |
|
false_negative_counts = [0, 11, 54, 70, 75] |
|
precision = [0.3333333, 0.3786982, 0.5384616, 1.0, 0.0] |
|
recall = [1.0, 0.8533334, 0.28, 0.0666667, 0.0] |
|
|
|
|
|
class WriterTest(unittest.TestCase): |
|
def test_flush(self): |
|
N_TEST = 5 |
|
w = SummaryWriter(flush_secs=1) |
|
f = w.file_writer.event_writer._ev_writer._file_name |
|
for i in range(N_TEST): |
|
w.add_scalar('a', i) |
|
time.sleep(2) |
|
r = PyRecordReader_New(f) |
|
r.GetNext() |
|
for _ in range(N_TEST): |
|
r.GetNext() |
|
|
|
def test_flush_timer_is_long_so_data_is_not_there(self): |
|
with self.assertRaises(BaseException): |
|
N_TEST = 5 |
|
w = SummaryWriter(flush_secs=20) |
|
f = w.file_writer.event_writer._ev_writer._file_name |
|
for i in range(N_TEST): |
|
w.add_scalar('a', i) |
|
time.sleep(2) |
|
r = PyRecordReader_New(f) |
|
r.GetNext() |
|
for _ in range(N_TEST): |
|
r.GetNext() |
|
|
|
def test_flush_after_close(self): |
|
N_TEST = 5 |
|
w = SummaryWriter(flush_secs=20) |
|
f = w.file_writer.event_writer._ev_writer._file_name |
|
for i in range(N_TEST): |
|
w.add_scalar('a', i) |
|
time.sleep(2) |
|
w.close() |
|
r = PyRecordReader_New(f) |
|
r.GetNext() |
|
for _ in range(N_TEST): |
|
r.GetNext() |
|
|
|
def test_flush(self): |
|
N_TEST = 5 |
|
w = SummaryWriter(flush_secs=20) |
|
f = w.file_writer.event_writer._ev_writer._file_name |
|
for i in range(N_TEST): |
|
w.add_scalar('a', i) |
|
time.sleep(2) |
|
w.flush() |
|
r = PyRecordReader_New(f) |
|
r.GetNext() |
|
for _ in range(N_TEST): |
|
r.GetNext() |
|
|
|
def test_auto_close(self): |
|
pass |
|
|
|
def test_writer(self): |
|
with SummaryWriter() as writer: |
|
sample_rate = 44100 |
|
|
|
n_iter = 0 |
|
writer.add_scalar('data/scalar_systemtime', 0.1, n_iter) |
|
writer.add_scalar('data/scalar_customtime', 0.2, n_iter, walltime=n_iter) |
|
writer.add_scalars('data/scalar_group', {"xsinx": n_iter * np.sin(n_iter), |
|
"xcosx": n_iter * np.cos(n_iter), |
|
"arctanx": np.arctan(n_iter)}, n_iter) |
|
x = np.zeros((32, 3, 64, 64)) |
|
writer.add_images('Image', x, n_iter) |
|
writer.add_image_with_boxes('imagebox', |
|
np.zeros((3, 64, 64)), |
|
np.array([[10, 10, 40, 40], [40, 40, 60, 60]]), |
|
n_iter) |
|
x = np.zeros(sample_rate * 2) |
|
|
|
writer.add_audio('myAudio', x, n_iter) |
|
writer.add_video('myVideo', np.random.rand(16, 48, 1, 28, 28).astype(np.float32), n_iter) |
|
writer.add_text('Text', 'text logged at step:' + str(n_iter), n_iter) |
|
writer.add_text('markdown Text', '''a|b\n-|-\nc|d''', n_iter) |
|
writer.add_histogram('hist', np.random.rand(100, 100), n_iter) |
|
writer.add_pr_curve('xoxo', np.random.randint(2, size=100), np.random.rand( |
|
100), n_iter) |
|
writer.add_pr_curve_raw('prcurve with raw data', true_positive_counts, |
|
false_positive_counts, |
|
true_negative_counts, |
|
false_negative_counts, |
|
precision, |
|
recall, n_iter) |
|
|
|
writer.export_scalars_to_json("./all_scalars.json") |
|
imgs = [] |
|
for i in range(5): |
|
imgs.append(np.ones((3, 100, 110))) |
|
with SummaryWriter() as w: |
|
w.add_images('img_list', imgs, dataformats='CHW') |