From db08dedfe21ca4b7d6dfa4e8266a74995164e1e5 Mon Sep 17 00:00:00 2001
From: James Betker <jbetker@gmail.com>
Date: Sat, 27 Jun 2020 08:26:57 -0600
Subject: [PATCH] Add recover_tensorboard_log

Generates a tb_logger from raw console output. Useful for colab sessions
that crash.
---
 codes/recover_tensorboard_log.py | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 codes/recover_tensorboard_log.py

diff --git a/codes/recover_tensorboard_log.py b/codes/recover_tensorboard_log.py
new file mode 100644
index 00000000..6329a3d1
--- /dev/null
+++ b/codes/recover_tensorboard_log.py
@@ -0,0 +1,21 @@
+from torch.utils.tensorboard import SummaryWriter
+
+if __name__ == "__main__":
+    writer = SummaryWriter("../experiments/train_div2k_feat_rg2_more_stuff")
+    f = open("../experiments/train_div2k_feat_rg2_more_stuff/console_output")
+    console = f.readlines()
+    search_terms = [
+        ("iter", ", iter:  ", ", lr:"),
+        ("l_g_total", " l_g_total: ", " switch_temperature:")
+    ]
+    iter = 0
+    for line in console:
+        if " - INFO: [epoch:" not in line:
+            continue
+        for name, start, end in search_terms:
+            val = line[line.find(start)+len(start):line.find(end)].replace(",", "")
+            if name == "iter":
+                iter = int(val)
+            else:
+                writer.add_scalar(name, float(val), iter)
+    writer.close()
\ No newline at end of file