code: def _build_txt_encoding(self):
      TEXT_BERT_HIDDEN_SIZE = 768
  
      self.text_bert_config = BertConfig(**self.config.text_bert)
      if self.config.text_bert_init_from_bert_base:
          self.text_bert = TextBert.from_pretrained(
              "bert-base-uncased", config=self.text_bert_config
          )
          # Use a smaller learning rate on text bert when initializing
          # from BERT_BASE
          self.finetune_modules.append(
              {
                  "module": self.text_bert,
                  "lr_scale": self.config.lr_scale_text_bert,
              }
          )
      else:
          logger.info("NOT initializing text_bert from BERT_BASE")
          self.text_bert = TextBert(self.text_bert_config)
  
      # if the text bert output dimension doesn't match the
      # multimodal transformer (mmt) hidden dimension,
      # add a linear projection layer between the two
      if self.mmt_config.hidden_size != TEXT_BERT_HIDDEN_SIZE:
          logger.info(
              f"Projecting text_bert output to {self.mmt_config.hidden_size} dim"
          )
  
          self.text_bert_out_linear = nn.Linear(
              TEXT_BERT_HIDDEN_SIZE, self.mmt_config.hidden_size
          )
      else:
          self.text_bert_out_linear = nn.Identity()
  
imports: import functools
  import logging
  import math
  import torch
  import torch.nn.functional
  from mmf.common.registry import registry
  from mmf.models.base_model import BaseModel
  from mmf.modules.layers import ClassifierLayer
  from mmf.utils.build import build_image_encoder
  from omegaconf import OmegaConf
  from torch import nn
label_desc: Use image node_id 5 for calling the M4C obj's underlying member method code with example usage: obj._build_txt_encoding() without return types