Merge pull request #26 from thangvubk/master

add eta to log
pull/27/head
Kai Chen 2018-12-11 23:07:24 +08:00 committed by GitHub
commit 514b8f8acb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 0 deletions

View File

@ -1,8 +1,14 @@
import datetime
from .base import LoggerHook
class TextLoggerHook(LoggerHook):
def __init__(self, interval=10, ignore_last=True, reset_flag=False):
super(TextLoggerHook, self).__init__(interval, ignore_last, reset_flag)
self.time_sec_tot = 0
def log(self, runner):
if runner.mode == 'train':
lr_str = ', '.join(
@ -14,6 +20,12 @@ class TextLoggerHook(LoggerHook):
log_str = 'Epoch({}) [{}][{}]\t'.format(runner.mode, runner.epoch,
runner.inner_iter + 1)
if 'time' in runner.log_buffer.output:
self.time_sec_tot += (runner.log_buffer.output['time'] *
self.interval)
time_sec_avg = self.time_sec_tot / (runner.iter + 1)
eta_sec = time_sec_avg * (runner.max_iters - runner.iter - 1)
eta_str = str(datetime.timedelta(seconds=int(eta_sec)))
log_str += 'eta: {}, '.format(eta_str)
log_str += (
'time: {log[time]:.3f}, data_time: {log[data_time]:.3f}, '.
format(log=runner.log_buffer.output))