class_docstr: Sort of like tqdm but using log lines and not as real time.
  Args:
      - logger: logger obtained from `logging.getLogger`,
      - iterable: iterable object to wrap
      - updates (int): number of lines that will be printed, e.g.
          if `updates=5`, log every 1/5th of the total length.
      - total (int): length of the iterable, in case it does not support
          `len`.
      - name (str): prefix to use in the log.
      - level: logging level (like `logging.INFO`).
class_docstr_tok: ["Sort","of","like","tqdm","but","using","log","lines","and","not","as","real","time",".","Args",":","-","logger",":","logger","obtained","from","`","logging.getLogger","`",",","-","iterable",":","iterable","object","to","wrap","-","updates","(","int",")",":","number","of","lines","that","will","be","printed",",","e.g",".","if","`","updates=5","`",",","log","every","1\/5th","of","the","total","length",".","-","total","(","int",")",":","length","of","the","iterable",",","in","case","it","does","not","support","`","len","`",".","-","name","(","str",")",":","prefix","to","use","in","the","log",".","-","level",":","logging","level","(","like","`","logging.INFO","`",")","."]
code: def __iter__(self):
      self._iterator = iter(self.iterable)
      self._index = -1
      self._infos = {}
      self._begin = time.time()
      return self
  
file_path: fairseq/examples/speech_synthesis/preprocessing/denoiser/utils.py
imports: import functools
  import logging
  from contextlib import contextmanager
  import inspect
  import time
label_desc: Use image node_id 3 for calling the LogProgress obj's underlying member method code with example usage: obj.__iter__() and returns: self