code: def forward(self, input_ids: Tensor, segment_ids: Tensor) -> Tensor:
      text_embedding = self.text_embeddings(
          input_ids, token_type_ids=segment_ids
      )
      # official vilt repo adds type embeddings twice, once in the bert embeddings
      # and a separate time directly
      text_type_embed = self.token_type_embeddings(segment_ids)
      return text_embedding + text_type_embed
  
imports: import collections.abc
  import logging
  from dataclasses import dataclass
  from typing import Any, Dict, List, Optional, Tuple
  import torch
  from mmf.common.registry import registry
  from mmf.models.base_model import BaseModel
  from mmf.models.transformers.heads.utils import build_heads_dict
  from mmf.modules.encoders import TransformerEncoder, ViTEncoder
  from mmf.modules.losses import MMFLoss
  from mmf.utils.build import build_encoder
  from mmf.utils.modeling import get_bert_configured_parameters
  from omegaconf import MISSING, OmegaConf
  from torch import nn, Tensor
label_desc: Use image node_id 2 for calling the ViLTTextEmbedding obj's underlying member method code with example usage: obj.forward(input_ids, segment_ids) and returns: unknown