def step_end(self, step, output):
    'Overrides `BaseMonitor.step_end`.\n\n    When overriding this method, you must call the super implementation.\n\n    Args:\n      step: `int`, the current value of the global step.\n      output: `dict` mapping `string` values representing tensor names to\n        the value resulted from running these tensors. Values may be either\n        scalars, for scalar tensors, or Numpy `array`, for non-scalar tensors.\n    Returns:\n      `bool`, the result of every_n_step_end, if that was called this step,\n      or `False` otherwise.\n    '
    super(EveryN, self).step_end(step, output)
    if self._every_n_step_begin_called:
        return self.every_n_step_end(step, output)
    return False
Overrides `BaseMonitor.step_end`.

When overriding this method, you must call the super implementation.

Args:
  step: `int`, the current value of the global step.
  output: `dict` mapping `string` values representing tensor names to
    the value resulted from running these tensors. Values may be either
    scalars, for scalar tensors, or Numpy `array`, for non-scalar tensors.
Returns:
  `bool`, the result of every_n_step_end, if that was called this step,
  or `False` otherwise.
def step_end(self, step, output):
    'Overrides `BaseMonitor.step_end`.\n\n    When overriding this method, you must call the super implementation.\n\n    Args:\n      step: `int`, the current value of the global step.\n      output: `dict` mapping `string` values representing tensor names to\n        the value resulted from running these tensors. Values may be either\n        scalars, for scalar tensors, or Numpy `array`, for non-scalar tensors.\n    Returns:\n      `bool`, the result of every_n_step_end, if that was called this step,\n      or `False` otherwise.\n    '
    super(EveryN, self).step_end(step, output)
    if self._every_n_step_begin_called:
        return self.every_n_step_end(step, output)
    return False