class_docstr: Base class for logger hooks.
  
  Args:
      interval (int): Logging interval (every k iterations).
      ignore_last (bool): Ignore the log of last iterations in each epoch
          if less than `interval`.
      reset_flag (bool): Whether to clear the output buffer after logging.
      by_epoch (bool): Whether EpochBasedRunner is used.
class_docstr_tok: ["Base","class","for","logger","hooks",".","Args",":","interval","(","int",")",":","Logging","interval","(","every","k","iterations",")",".","ignore_last","(","bool",")",":","Ignore","the","log","of","last","iterations","in","each","epoch","if","less","than","`","interval","`",".","reset_flag","(","bool",")",":","Whether","to","clear","the","output","buffer","after","logging",".","by_epoch","(","bool",")",":","Whether","EpochBasedRunner","is","used","."]
code: def __init__(
      self,
      interval=10,
      ignore_last=True,
      reset_flag=False,
      by_epoch=True,
  ):
      self.interval = interval
      self.ignore_last = ignore_last
      self.reset_flag = reset_flag
      self.by_epoch = by_epoch
  
imports: import numbers
  from abc import ABCMeta, abstractmethod
  import numpy
  import torch
  from ..hook import Hook
label_desc: Use image node_id 1 to create a new LoggerHook object from inherited base classes: Hook with example: obj = LoggerHook(interval, ignore_last, reset_flag, by_epoch)