class_docstr: A runner class to train and evaluate a model given a task and datasets.
  
  The runner uses pytorch distributed data parallel by default. Future release
  will support other distributed frameworks.
class_docstr_tok: ["A","runner","class","to","train","and","evaluate","a","model","given","a","task","and","datasets",".","The","runner","uses","pytorch","distributed","data","parallel","by","default",".","Future","release","will","support","other","distributed","frameworks","."]
docstr: A property to get and create learning rate scheduler by split just in need.
code: def lr_scheduler(self):
      """
      A property to get and create learning rate scheduler by split just in need.
      """
      if self._lr_sched is None:
          lr_sched_cls = registry.get_lr_scheduler_class(
              self.config.run_cfg.lr_sched
          )
  
          # max_epoch = self.config.run_cfg.max_epoch
          max_epoch = self.max_epoch
          # min_lr = self.config.run_cfg.min_lr
          min_lr = self.min_lr
          # init_lr = self.config.run_cfg.init_lr
          init_lr = self.init_lr
  
          # optional parameters
          decay_rate = self.config.run_cfg.get("lr_decay_rate", None)
          warmup_start_lr = self.config.run_cfg.get("warmup_lr", -1)
          warmup_steps = self.config.run_cfg.get("warmup_steps", 0)
  
          self._lr_sched = lr_sched_cls(
              optimizer=self.optimizer,
              max_epoch=max_epoch,
              min_lr=min_lr,
              init_lr=init_lr,
              decay_rate=decay_rate,
              warmup_start_lr=warmup_start_lr,
              warmup_steps=warmup_steps,
          )
  
      return self._lr_sched
  
imports: import datetime
  import json
  import logging
  import os
  import time
  from pathlib import Path
  import torch
  import torch.distributed
  import webdataset
  from lavis.common.dist_utils import download_cached_file, get_rank, get_world_size, is_main_process, main_process
  from lavis.common.registry import registry
  from lavis.common.utils import is_url
  from lavis.datasets.data_utils import concat_datasets, reorg_datasets_by_split
  from lavis.datasets.datasets.dataloader_utils import IterLoader, MultiIterLoader, PrefetchLoader
  from torch.nn.parallel import DistributedDataParallel
  from torch.utils.data import DataLoader, DistributedSampler
  from torch.utils.data.dataset import ChainDataset
label_desc: Use image node_id 7 for calling the RunnerBase obj's underlying member method code with example usage: obj.lr_scheduler() and returns: self