code: def configure_callbacks(self):
      self.checkpoint_callback = CheckpointCallback(self.config, self)
      self.early_stop_callback = EarlyStoppingCallback(
          self.config, self
      )
      self.logistics_callback = LogisticsCallback(self.config, self)
      self.lr_scheduler_callback = LRSchedulerCallback(
          self.config, self
      )
  
      # Reset callbacks as they are class variables and would be shared between
      # multiple interactive shell calls to `run`
      self.callbacks = []
      # Add callbacks for execution during events
      self.callbacks.append(self.lr_scheduler_callback)
      # checkpoint_callback needs to be called after lr_scheduler_callback so that
      # lr_scheduler_callback._scheduler.step() happens before saving checkpoints
      # (otherwise the saved last_epoch in scheduler would be wrong)
      self.callbacks.append(self.checkpoint_callback)
      self.callbacks.append(self.logistics_callback)
      # Add all customized callbacks defined by users
      for callback in self.config.training.get("callbacks", []):
          callback_type = callback.type
          callback_param = callback.params
          callback_cls = registry.get_callback_class(callback_type)
          self.callbacks.append(
              callback_cls(self.config, self, **callback_param)
          )
  
imports: import logging
  import warnings
  import omegaconf
  import torch
  from mmf.common.registry import registry
  from mmf.datasets.multi_datamodule import MultiDataModule
  from mmf.modules.metrics import Metrics
  from mmf.trainers.base_trainer import BaseTrainer
  from mmf.trainers.callbacks.checkpoint import CheckpointCallback
  from mmf.trainers.callbacks.early_stopping import EarlyStoppingCallback
  from mmf.trainers.callbacks.logistics import LogisticsCallback
  from mmf.trainers.callbacks.lr_scheduler import LRSchedulerCallback
  from mmf.trainers.core.callback_hook import TrainerCallbackHookMixin
  from mmf.trainers.core.device import TrainerDeviceMixin
  from mmf.trainers.core.evaluation_loop import TrainerEvaluationLoopMixin
  from mmf.trainers.core.profiling import TrainerProfilingMixin
  from mmf.trainers.core.training_loop import TrainerTrainingLoopMixin
  from mmf.utils.build import build_model, build_optimizer
  from mmf.utils.general import print_model_parameters
  from omegaconf import DictConfig, OmegaConf
  from packaging import version
label_desc: Use image node_id 3 for calling the MMFTrainer obj's underlying member method code with example usage: obj.configure_callbacks() without return types