code: def __init__(
      self,
      layer_decay: float,
      num_layers: int,
      optimizer_schedulers,
      optimizer_config,
  ):
      super().__init__()
      self.layer_decay = layer_decay
      self.num_layers = num_layers
      if "weight_decay" in optimizer_schedulers:
          self.weight_decay_main_config = optimizer_schedulers[
              "weight_decay"
          ]
      else:
          self.weight_decay_main_config = optimizer_config.weight_decay
      self.all_groups = {}
  
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 1 to create a new LayerDecayGroupConstructor object  with example: obj = LayerDecayGroupConstructor(layer_decay, num_layers, optimizer_schedulers, optimizer_config)