code: def forward_embedding(
      self,
      text_tokens: Tensor,
  ):
      # [Batch, Seq_len] --> [Batch, Seq_len, hidden_dim]
      token_emb = self.embedding_layer(text_tokens)
      # token_emb = self.embed_scale * token_emb
      seq_len = token_emb.shape[1]
      if self.positional_embedding is not None:
          token_emb = token_emb + self.positional_embedding(seq_len).to(
              token_emb.dtype
          )
      token_emb = self.embedding_dropout(token_emb)
      return token_emb
  
imports: import argparse
  import math
  from typing import Optional, Sequence
  import torch
  from torch import Tensor, nn
  from torch.nn import functional
  from torch.utils.checkpoint import checkpoint
  from cvnets.layers import Dropout, Embedding, PositionalEmbedding, get_normalization_layer
  from cvnets.modules import TransformerEncoder
  from cvnets.text_encoders import TEXT_ENCODER_REGISTRY, BaseTextEncoder
  from utils import logger
label_desc: Use image node_id 4 for calling the TextTransformer obj's underlying member method code with example usage: obj.forward_embedding(text_tokens) and returns: token_emb