class_docstr: Prints the value of some tensors in each step.
  It's an example of how ``before_run/after_run`` works.
class_docstr_tok: ["Prints","the","value","of","some","tensors","in","each","step",".","It","'s","an","example","of","how","``","before_run\/after_run","``","works","."]
code: def _after_run(self, _, vals):
      args = vals.results
      assert len(args) == len(self._names), len(args)
      for n, v in zip(self._names, args):
          logger.info("{}: {}".format(n, v))
  
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 4 for calling the TensorPrinter obj's underlying member method code with example usage: obj._after_run(_, vals) without return types