code: def _init_feature_embeddings(self, attr):
      feature_embeddings_list = []
      num_feature_feat = len(
          self.config.get(f"{attr}_feature_encodings")
      )
  
      self.image_feature_projection = ProjectionEmbedding(
          **self.config.image_feature_projection
      )
      self.feature_embeddings_out_dim = 0
  
      if self.config.image_intra_attention:
          self.image_feature_intra_attention = nn.MultiheadAttention(
              **self.config.image_feature_attentions[0]
          )
  
      for _ in range(num_feature_feat):
          feature_embeddings = []
          feature_attn_model_list = self.config[
              attr + "_feature_embeddings"
          ]
  
          for feature_attn_model_params in feature_attn_model_list:
              feature_embedding = nn.MultiheadAttention(
                  **feature_attn_model_params
              )
              feature_embeddings.append(feature_embedding)
              self.feature_embeddings_out_dim += (
                  feature_attn_model_params["embed_dim"]
              )
  
          feature_embeddings = nn.ModuleList(feature_embeddings)
          feature_embeddings_list.append(feature_embeddings)
  
      setattr(
          self,
          attr + "_feature_embeddings_out_dim",
          self.feature_embeddings_out_dim,
      )
      del self.feature_embeddings_out_dim
      setattr(
          self,
          attr + "_feature_embeddings_list",
          nn.ModuleList(feature_embeddings_list),
      )
  
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 9 for calling the MMFBert obj's underlying member method code with example usage: obj._init_feature_embeddings(attr) without return types