class_docstr: It maintains the global step in the graph, making sure it's increased by one at every `hooked_sess.run`.
  This callback is used internally by the trainer, you don't need to worry about it.
class_docstr_tok: ["It","maintains","the","global","step","in","the","graph",",","making","sure","it","'s","increased","by","one","at","every","`","hooked_sess.run","`",".","This","callback","is","used","internally","by","the","trainer",",","you","do","n't","need","to","worry","about","it","."]
code: def _before_train(self):
      if self.global_step != 0:
          logger.info(
              "Start training with global_step={}".format(
                  self.global_step
              )
          )
  
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 MaintainStepCounter obj's underlying member method code with example usage: obj._before_train() without return types