class_docstr: Span masked language modeling task. (ie. T5)
code: def _load_dataset_split(self, split, epoch, combine):
      paths = utils.split_paths(self.cfg.data)
      assert len(paths) > 0
      data_path = paths[(epoch - 1) % len(paths)]
      split_path = os.path.join(data_path, split)
  
      dataset = data_utils.load_indexed_dataset(
          split_path,
          self.dictionary,
          self.cfg.dataset_impl,
          combine=combine,
      )
      if dataset is None:
          raise FileNotFoundError(
              "Dataset not found: {} ({})".format(split, split_path)
          )
  
      dataset = StripTokenDataset(dataset, self.dictionary.eos())
  
      dataset = maybe_shorten_dataset(
          dataset,
          split,
          self.cfg.shorten_data_split_list,
          self.cfg.shorten_method,
          self.cfg.tokens_per_sample,
          self.cfg.seed,
      )
  
      # create continuous blocks of tokens
      dataset = TokenBlockDataset(
          dataset,
          dataset.sizes,
          self.cfg.tokens_per_sample
          - 2,  # one less for <s> and one for </s>
          pad=self.dictionary.pad(),
          eos=self.dictionary.eos(),
          break_mode=self.cfg.sample_break_mode,
          document_sep_len=0,
      )
      logger.info(
          "loaded {} blocks from: {}".format(len(dataset), split_path)
      )
  
      # prepend beginning-of-sentence token (<s>, equiv. to [CLS] in BERT)
      dataset = PrependTokenDataset(
          dataset, self.source_dictionary.bos()
      )
      dataset = AppendTokenDataset(
          dataset, self.source_dictionary.eos()
      )
      return dataset
  
imports: import logging
  import os
  from dataclasses import dataclass, field
  from typing import Optional
  import numpy
  from omegaconf import II, MISSING
  from fairseq import utils
  from fairseq.data import AppendTokenDataset, Dictionary, IdDataset, NestedDictionaryDataset, NumelDataset, PadDataset, PrependTokenDataset, StripTokenDataset, TokenBlockDataset, data_utils
  from fairseq.data.shorten_dataset import maybe_shorten_dataset
  from fairseq.data.span_mask_tokens_dataset import SpanMaskedTokensDataset
  from fairseq.dataclass import ChoiceEnum, FairseqDataclass
  from fairseq.tasks import FairseqTask, register_task
  from ..data.indexed_dataset import get_available_dataset_impl
label_desc: Use image node_id 3 for calling the SpanMaskedLMTask obj's underlying member method code with example usage: obj._load_dataset_split(split, epoch, combine) and returns: dataset