class_docstr: Note:
      You should use :meth:`labml.logger.iterate`
      or :meth:`labml.monit.enum` to create iterators
      and enumerators.
code: def __init__(
      self,
      *,
      logger: "Monitor",
      name: str,
      iterable: typing.Union[Iterable, typing.Sized, int],
      is_silent: bool,
      is_timed: bool,
      total_steps: Optional[int],
      is_children_silent: bool,
      is_enumerate: bool,
      is_track: bool,
      is_not_in_loop: bool,
      section: Optional[Section],
  ):
      if is_enumerate:
          total_steps = len(iterable)
          iterable = enumerate(iterable)
      if isinstance(iterable, int):
          total_steps = iterable
          iterable = range(total_steps)
      if total_steps is None:
          sized: typing.Sized = iterable
          total_steps = len(sized)
  
      self.is_not_in_loop = is_not_in_loop
      self.is_track = is_track
      self.is_children_silent = is_children_silent
      self._logger = logger
      self._name = name
      self._iterable: Iterable = iterable
      self._iterator = Optional[typing.Iterator]
      self._total_steps = total_steps
      self._section = section
      self._is_silent = is_silent
      self._is_timed = is_timed
      self._counter = -1
      self.is_section_specified = section is not None
  
file_path: labml/client/labml/internal/monitor/iterator.py
imports: import typing
  from typing import Optional, Iterable, TYPE_CHECKING
  from .sections import Section
label_desc: Use image node_id 1 to create a new Iterator object  with example: obj = Iterator()