class_docstr: Task for joint training speech and text to text.
class_docstr_tok: ["Task","for","joint","training","speech","and","text","to","text","."]
code: def __init__(self, args, src_dict, tgt_dict, infer_tgt_lang_id=None):
      super().__init__(args, tgt_dict)
      self.src_dict = src_dict
      self.data_cfg = S2TJointDataConfig(
          Path(args.data) / args.config_yaml
      )
      assert self.tgt_dict.pad() == self.src_dict.pad()
      assert self.tgt_dict.eos() == self.src_dict.eos()
      self.speech_only = args.load_speech_only
      self._infer_tgt_lang_id = infer_tgt_lang_id
  
imports: import logging
  import os
  from argparse import Namespace
  from pathlib import Path
  import torch
  from fairseq.data import encoders, Dictionary, ResamplingDataset, TransformEosLangPairDataset, ConcatDataset
  from fairseq.data.iterators import GroupedEpochBatchIterator
  from fairseq.data.audio.multi_modality_dataset import MultiModalityDataset, LangPairMaskDataset, ModalityDatasetItem
  from fairseq.data.audio.speech_to_text_dataset import SpeechToTextDataset, SpeechToTextDatasetCreator
  from fairseq.data.audio.speech_to_text_joint_dataset import S2TJointDataConfig, SpeechToTextJointDatasetCreator
  from fairseq.tasks import register_task
  from fairseq.tasks.speech_to_text import SpeechToTextTask
  from fairseq.tasks.translation import load_langpair_dataset
label_desc: Use image node_id 2 to create a new SpeechTextJointToTextTask object from inherited base classes: SpeechToTextTask with example: obj = SpeechTextJointToTextTask(args, src_dict, tgt_dict, infer_tgt_lang_id)