mirror of
https://github.com/wassname/Castor.git
synced 2026-08-24 11:27:50 +08:00
27 lines
885 B
Python
27 lines
885 B
Python
import datetime
|
|
import sys
|
|
|
|
from tensorboardX import SummaryWriter
|
|
|
|
class LogWriter(object):
|
|
def __init__(self, run_name_fmt="run_{}"):
|
|
self.writer = SummaryWriter()
|
|
self.run_name = run_name_fmt.format(datetime.datetime.now().strftime("%Y-%m-%d-%H:%M:%S"))
|
|
self.train_idx = 0
|
|
self.dev_idx = 0
|
|
|
|
def log_hyperparams(self):
|
|
self.writer.add_text("{}/hyperparams".format(self.run_name), " ".join(sys.argv))
|
|
|
|
def log_train_loss(self, loss):
|
|
self.writer.add_scalar("{}/train_loss".format(self.run_name), loss, self.train_idx)
|
|
self.train_idx += 1
|
|
|
|
def log_dev_metrics(self, pearsonr, spearmanr):
|
|
results = dict(pearsonr=pearsonr, spearmanr=spearmanr)
|
|
self.writer.add_scalars("{}/dev_metrics".format(self.run_name), results, self.dev_idx)
|
|
self.dev_idx += 1
|
|
|
|
def next(self):
|
|
self.i += 1
|