code: def __call__(self, engine):
      self._calc_running_avg(engine)
      num_seen = engine.state.iteration - self.num_iterations * (
          engine.state.epoch - 1
      )
  
      percent_seen = 100 * float(num_seen) / self.num_iterations
      equal_to = int(percent_seen / 10)
      done = int(percent_seen) == 100
  
      bar = (
          "["
          + "=" * equal_to
          + ">" * (not done)
          + " " * (10 - equal_to)
          + "]"
      )
      message = (
          f"Epoch {engine.state.epoch} | {percent_seen:.2f}% | {bar}"
      )
      for key, value in self.metrics.items():
          message += f" | {key}: {value:.2e}"
  
      message += "\r"
  
      self.output_stream.write(message)
      self.output_stream.flush()
  
      if done:
          self.output_stream.write("\n")
  
imports: import sys
label_desc: Use image node_id 3 for calling the Progbar obj's underlying member method code with example usage: obj.__call__(engine) without return types