class_docstr: A [`TrainerCallback`] that displays the progress of training or evaluation, optimized for Jupyter Notebooks or
  Google colab.
class_docstr_tok: ["A","[","`","TrainerCallback","`","]","that","displays","the","progress","of","training","or","evaluation",",","optimized","for","Jupyter","Notebooks","or","Google","colab","."]
code: def on_prediction_step(
      self, args, state, control, eval_dataloader=None, **kwargs
  ):
      if not has_length(eval_dataloader):
          return
      if self.prediction_bar is None:
          if self.training_tracker is not None:
              self.prediction_bar = self.training_tracker.add_child(
                  len(eval_dataloader)
              )
          else:
              self.prediction_bar = NotebookProgressBar(
                  len(eval_dataloader)
              )
          self.prediction_bar.update(1)
      else:
          self.prediction_bar.update(self.prediction_bar.value + 1)
  
imports: import re
  import time
  from typing import Optional
  import IPython.display
  from ..trainer_callback import TrainerCallback
  from ..trainer_utils import IntervalStrategy, has_length
label_desc: Use image node_id 4 for calling the NotebookProgressCallback obj's underlying member method code with example usage: obj.on_prediction_step(args, state, control, eval_dataloader) without return types