class_docstr: A progress bar based on tqdm.
  
  This callback is one of the :func:`DEFAULT_CALLBACKS()`.
class_docstr_tok: ["A","progress","bar","based","on","tqdm",".","This","callback","is","one","of","the",":","func",":","`","DEFAULT_CALLBACKS","(",")","`","."]
code: def _before_train(self):
      self._last_updated = self.local_step
  
      self._total = self.trainer.steps_per_epoch
      self._tqdm_args = get_tqdm_kwargs(leave=True)
  
      self._fetches = (
          self.get_tensors_maybe_in_tower(self._names) or None
      )
      if self._fetches:
          for t in self._fetches:
              assert (
                  t.shape.ndims == 0
              ), "ProgressBar can only print scalars, not {}".format(t)
          self._fetches = tf.train.SessionRunArgs(self._fetches)
          self._tqdm_args["bar_format"] = (
              self._tqdm_args["bar_format"] + "{postfix} "
          )
  
imports: import tqdm
  from six.moves import zip
  from ..compat import tfv1
  from ..tfutils.common import get_global_step_var, get_op_tensor_name
  from ..utils import logger
  from ..utils.naming import GLOBAL_STEP_INCR_OP_NAME
  from ..utils.utils import get_tqdm_kwargs
  from .base import Callback
label_desc: Use image node_id 2 for calling the ProgressBar obj's underlying member method code with example usage: obj._before_train() without return types