code: def _register_callback(self, cb):
          
          if isinstance(cb, (list, tuple)):
              for x in cb:
                  self._register_callback(x)
              return
          assert isinstance(cb, Callback), cb
          assert not isinstance(self._callbacks, Callbacks), \
              "Cannot register more callbacks after trainer was setup!"
          if not self.is_chief and cb.chief_only:
              logger.warn("Callback {} is chief-only, skipped.".format(str(cb)))
              return False
          else:
              self._callbacks.append(cb)
              return True
docs: Register callbacks to the trainer.
          It can only be called before :meth:`Trainer.train()`.
  
          Args:
              cb (Callback or [Callback]): a callback or a list of callbacks
  
          Returns:
              succeed or not