code: def build(self):
      encoders = self._build_encoders(self.config)
      text_encoder, modal_encoder = encoders[0], encoders[1]
      self._encoder_config = text_encoder.config
  
      self._mmbt_config = MMBTConfig(
          self._encoder_config,
          num_labels=self.config.num_labels,
          modal_hidden_size=self.config.modal_hidden_size,
      )
      self.use_modal_start_token = self.config.use_modal_start_token
      self.use_modal_end_token = self.config.use_modal_end_token
      self.num_max_segment = self.config.text_encoder.params.get(
          "num_segments", 2
      )
  
      self.mmbt = MMBTModel(
          self._mmbt_config, text_encoder, modal_encoder
      )
  
imports: import os
  from copy import deepcopy
  from dataclasses import dataclass
  from typing import Dict, Optional, Union
  import torch
  from mmf.common.registry import registry
  from mmf.models.base_model import BaseModel
  from mmf.models.interfaces.mmbt import MMBTGridHMInterface
  from mmf.modules.encoders import EncoderFactory, ImageEncoderFactory, ImageEncoderTypes, MultiModalEncoderBase, ResNet152ImageEncoder, TextEncoderFactory, TextEncoderTypes, TransformerEncoder
  from mmf.modules.hf_layers import replace_with_jit
  from mmf.utils.checkpoint import load_pretrained_model
  from mmf.utils.configuration import get_mmf_cache_dir
  from mmf.utils.modeling import get_optimizer_parameters_for_bert
  from omegaconf import DictConfig, II, OmegaConf
  from torch import nn, Tensor
label_desc: Use image node_id 2 for calling the MMBTBase obj's underlying member method code with example usage: obj.build() without return types