Unverified Commit 89606a14 authored by Cao Yuhang's avatar Cao Yuhang Committed by GitHub
Browse files

log meta (#183)

* log meta

* add type check
parent e127ef28
...@@ -21,6 +21,8 @@ class TextLoggerHook(LoggerHook): ...@@ -21,6 +21,8 @@ class TextLoggerHook(LoggerHook):
self.start_iter = runner.iter self.start_iter = runner.iter
self.json_log_path = osp.join(runner.work_dir, self.json_log_path = osp.join(runner.work_dir,
'{}.log.json'.format(runner.timestamp)) '{}.log.json'.format(runner.timestamp))
if runner.meta is not None:
self._dump_log(runner.meta, runner)
def _get_max_memory(self, runner): def _get_max_memory(self, runner):
mem = torch.cuda.max_memory_allocated() mem = torch.cuda.max_memory_allocated()
......
...@@ -31,6 +31,8 @@ class Runner(object): ...@@ -31,6 +31,8 @@ class Runner(object):
log_level (int): Logging level. log_level (int): Logging level.
logger (:obj:`logging.Logger`): Custom logger. If `None`, use the logger (:obj:`logging.Logger`): Custom logger. If `None`, use the
default logger. default logger.
meta (dict | None): A dict records some import information such as
environment info and seed, which will be logged in logger hook.
""" """
def __init__(self, def __init__(self,
...@@ -39,7 +41,8 @@ class Runner(object): ...@@ -39,7 +41,8 @@ class Runner(object):
optimizer=None, optimizer=None,
work_dir=None, work_dir=None,
log_level=logging.INFO, log_level=logging.INFO,
logger=None): logger=None,
meta=None):
assert callable(batch_processor) assert callable(batch_processor)
self.model = model self.model = model
if optimizer is not None: if optimizer is not None:
...@@ -71,6 +74,10 @@ class Runner(object): ...@@ -71,6 +74,10 @@ class Runner(object):
self.logger = logger self.logger = logger
self.log_buffer = LogBuffer() self.log_buffer = LogBuffer()
if meta is not None:
assert isinstance(meta, dict), '"meta" must be a dict or None'
self.meta = meta
self.mode = None self.mode = None
self._hooks = [] self._hooks = []
self._epoch = 0 self._epoch = 0
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment