code: def get_lr_decay_param_groups(
      model: nn.Module,
      model_config: AttrDict,
      optimizer_config: AttrDict,
      optimizer_schedulers: Dict[str, ParamScheduler],
  ):
      trunk_name = model_config.TRUNK.NAME
      if trunk_name == "vision_transformer":
          return get_vit_lr_decay_param_groups(
              model,
              model_config,
              optimizer_config,
              optimizer_schedulers,
          )
      elif trunk_name == "resnet":
          return get_resnet_lr_decay_param_groups(
              model,
              model_config,
              optimizer_config,
              optimizer_schedulers,
          )
      else:
          raise ValueError(
              f"Undefined LR Decay scheme for {trunk_name}"
          )
  
file_path: vissl/vissl/optimizers/param_groups/layer_decay.py
imports: import re
  from typing import Dict
  import torch.nn
  from fvcore.common.param_scheduler import ParamScheduler
  from vissl.config import AttrDict
  from vissl.optimizers.param_groups.registry import register_param_group_constructor
  from vissl.optimizers.param_scheduler.layer_decay_scheduler import LayerDecayScheduler
  from vissl.utils.misc import is_apex_available
label_desc: Use image node_id 5 for calling a global function with example usage: get_lr_decay_param_groups(model, model_config, optimizer_config, optimizer_schedulers) and returns: get_vit_lr_decay_param_groups, get_resnet_lr_decay_param_groups