code: def get_optimizer_parameters(self, config):
      param_optimizer = list(self.named_parameters())
      image_feature_encoders_params = [
          n for n in param_optimizer if "image_feature_encoders" in n[0]
      ]
      param_optimizer = [
          n
          for n in param_optimizer
          if "image_feature_encoders" not in n[0]
      ]
  
      no_decay = ["bias", "LayerNorm.bias", "LayerNorm.weight"]
      optimizer_grouped_parameters = [
          {
              "params": [
                  p
                  for n, p in param_optimizer
                  if not any(nd in n for nd in no_decay)
              ],
              "weight_decay": 0.01,
          },
          {
              "params": [
                  p
                  for n, p in param_optimizer
                  if any(nd in n for nd in no_decay)
              ],
              "weight_decay": 0.0,
          },
          {
              "params": [p for _, p in image_feature_encoders_params],
              "lr": (config.optimizer.params.lr * 0.1),
              "weight_decay": 0.01,
          },
      ]
  
      return optimizer_grouped_parameters
  
imports: import torch
  from mmf.common.registry import registry
  from mmf.models.pythia import Pythia
  from mmf.modules.embeddings import ProjectionEmbedding
  from mmf.utils.transform import transform_to_batch_sequence
  from torch import nn
label_desc: Use image node_id 10 for calling the MMFBert obj's underlying member method code with example usage: obj.get_optimizer_parameters(config) and returns: optimizer_grouped_parameters