File size: 1,282 Bytes
38f7d61 |
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 38 39 40 41 42 |
import os
import sys
from tensorboardX import SummaryWriter
from datetime import datetime
class Logger(object):
def __init__(self, val=True, filename="print.log"):
self.Time = datetime.now().strftime('%Y-%m-%d_%H%M')
self.path = 'output/' + self.Time
self.log_filename = filename
os.makedirs(self.path) if os.path.exists(self.path) is False else None
self.run_path = '{}/{}'.format(self.path, 'tb')
# common log
self.terminal = sys.stdout
self.terminal.write(self.path)
# init tensorboardX
self.train_writer = None
self.val_writer = None
self.tensorboard_init(val)
def printlog(self, message):
message = str(message)
self.terminal.write(message + '\n')
log = open(os.path.join(self.path, self.log_filename), "a", encoding='utf8', )
log.write(message + '\n')
log.close()
def tensorboard_init(self, val=True):
if val:
self.train_writer = SummaryWriter(self.run_path+'/train')
self.val_writer = SummaryWriter(self.run_path+'/val')
else:
self.train_writer = SummaryWriter(self.run_path)
def get_path(self):
return self.path
|