class_docstr: Base class of Inferencer.
  Inferencer is a special kind of callback that should be called by :class:`InferenceRunner`.
  It has the methods ``_get_fetches`` and ``_on_fetches`` which are like
  :class:`SessionRunHooks`, except that they will be used only by :class:`InferenceRunner`.
  
  .. document private functions
  .. automethod:: _before_inference
  .. automethod:: _after_inference
  .. automethod:: _get_fetches
  .. automethod:: _on_fetches
code: def _trigger_epoch(self):
      ret = self._after_inference()
      if ret is None:
          return
      for k, v in six.iteritems(ret):
          try:
              v = float(v)
          except ValueError:
              logger.warn(
                  "{} returns a non-scalar statistics!".format(
                      type(self).__name__
                  )
              )
              continue
          else:
              self.trainer.monitors.put_scalar(k, v)
  
imports: import numpy
  from abc import ABCMeta
  import six
  from ..tfutils.common import get_op_tensor_name
  from ..utils import logger
  from ..utils.stats import BinaryStatistics, RatioCounter
  from .base import Callback
label_desc: Use image node_id 3 for calling the Inferencer obj's underlying member method code with example usage: obj._trigger_epoch() without return types