class_docstr: The ``{before,after}_epoch``, ``{before,after}_run``, ``trigger_{epoch,step}``
  methods of the given callback will be enabled only when ``global_step % every_k_steps == 0`
  or ``epoch_num % every_k_epochs == 0``. The other methods are unaffected.
  
  Note that this can only makes a callback **less** frequent than itself.
  If you have a callback that by default runs every epoch by its :meth:`trigger()` method,
  use :class:`PeriodicTrigger` to schedule it more frequent than itself.
code: def __str__(self):
      return "PeriodicCallback-" + str(self.cb)
  
imports: from .base import Callback, ProxyCallback
label_desc: Use image node_id 3 for calling the PeriodicCallback obj's underlying member method code with example usage: obj.__str__() and returns: unknown