code: def build_text_encoder(cls, args, src_dictionary):
      enc_emb = nn.Embedding(
          len(src_dictionary),
          args.encoder_embed_dim,
          src_dictionary.pad(),
      )
      model_args = cls.update_transformer_encoder_cfg(
          args, {"encoder_layers": args.text_encoder_layers}
      )
      text_encoder = TransformerEncoder(
          model_args, src_dictionary, enc_emb
      )
      return text_encoder
  
imports: import logging
  from collections import OrderedDict, namedtuple
  from typing import Dict, Optional
  import torch
  import torch.nn
  import torch.nn.functional
  from torch import Tensor
  from fairseq import checkpoint_utils, utils
  from fairseq.file_io import PathManager
  from fairseq.models import FairseqDecoder, FairseqEncoderDecoderModel, register_model, register_model_architecture
  from fairseq.models.speech_to_text import MultiInputDecoder, MultiModalityEncoder, SpeechWavTransformerEncoder, StackedSpeechWavTransformerEncoder
  from fairseq.models.transformer import TransformerDecoder, TransformerEncoder, TransformerModel
label_desc: Use image node_id 3 for calling the SpeechTextPreTrainEncoder obj's underlying member method code with example usage: obj.build_text_encoder(cls, args, src_dictionary) and returns: text_encoder