code: def train(self,
                callbacks, monitors,
                session_creator, session_init,
                steps_per_epoch, starting_epoch=1, max_epoch=9999999):
          
          self.setup_callbacks(callbacks, monitors)
          self.initialize(session_creator, session_init)
          self.main_loop(steps_per_epoch, starting_epoch, max_epoch)
docs: Implemented by three lines:
  
          .. code-block:: python
  
              self.setup_callbacks(callbacks, monitors)
              self.initialize(session_creator, session_init)
              self.main_loop(steps_per_epoch, starting_epoch, max_epoch)
  
          You can call those methods by yourself to have better control on details if needed.