code: def get_optimizer_parameters(
      self, config: DictConfig
  ) -> List[Dict[str, Any]]:
      combine_layer = self.image_text_multi_modal_combine_layer
      params = [
          {"params": filter_grads(self.word_embedding.parameters())},
          {
              "params": filter_grads(
                  self.image_feature_embeddings_list.sga.parameters()
              )
          },
          {
              "params": filter_grads(
                  self.image_feature_embeddings_list.sga_pool.parameters()
              )
          },
          {
              "params": filter_grads(
                  self.image_feature_embeddings_list.cbn.parameters()
              ),
              "lr": (
                  config.optimizer.params.lr
                  * config.training.encoder_lr_multiply
              ),
          },
          {"params": filter_grads(self.text_embeddings.parameters())},
          {"params": filter_grads(combine_layer.parameters())},
          {"params": filter_grads(self.classifier.parameters())},
          {
              "params": filter_grads(
                  self.image_feature_encoders.parameters()
              )
          },
      ]
  
      return params
  
imports: import copy
  from typing import Any, Dict, List, Optional, Tuple
  import omegaconf
  import torch
  from mmf.common.registry import registry
  from mmf.models.base_model import BaseModel
  from mmf.modules.embeddings import PreExtractedEmbedding, TextEmbedding, TwoBranchEmbedding
  from mmf.modules.layers import BranchCombineLayer, ClassifierLayer
  from mmf.utils.build import build_image_encoder
  from mmf.utils.general import filter_grads
  from omegaconf import DictConfig
label_desc: Use image node_id 13 for calling the MoVieMcan obj's underlying member method code with example usage: obj.get_optimizer_parameters(config) and returns: params