code: def build_decoder(
      cls,
      args,
      text_dictionary,
      speech_dictionary,
      speech_output_embedding,
  ):
      text_decoder = cls.build_text_decoder(args, text_dictionary)
      speech_decoder = cls.build_dummy_speech_decoder(
          args, speech_dictionary, speech_output_embedding
      )
      if getattr(args, "load_pretrained_mbart_decoder_from", None):
          text_decoder = (
              checkpoint_utils.load_pretrained_component_from_model(
                  component=text_decoder,
                  checkpoint=args.load_pretrained_mbart_decoder_from,
              )
          )
      return SpeechTextPreTrainDecoder(
          text_dictionary, speech_decoder, text_decoder
      )
  
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 6 for calling the SpeechTextPreTrainDecoder obj's underlying member method code with example usage: obj.build_decoder(cls, args, text_dictionary, speech_dictionary, speech_output_embedding) and returns: SpeechTextPreTrainDecoder