class_docstr: Note:
      You should use :meth:`labml.logger.section` to create sections
code: def progress(self, steps):
      old_progress = self._progress
      if self._total_steps > 0:
          self._progress = steps / self._total_steps
      else:
          self._progress = 1.0
  
      if self.is_silent:
          return False
  
      if old_progress == 0.0 and self._progress > 0:
          return True
  
      parts = max(10, int(self.get_estimated_time() * 2))
      if math.floor(self._progress * parts) != math.floor(
          old_progress * parts
      ):
          return True
      else:
          return False
  
imports: import math
  import time
  from typing import TYPE_CHECKING, List
  from labml import logger
  from ..tracker import tracker_singleton
label_desc: Use image node_id 8 for calling the Section obj's underlying member method code with example usage: obj.progress(steps) and returns: False, True, True, False