class_docstr: Base class for implementing dataset builders. See more information
  on top. Child class needs to implement ``build`` and ``load``.
  
  Args:
      dataset_name (str): Name of the dataset passed from child.
docstr: Main load function use by MMF. This will internally call ``load``
  function. Calls ``init_processors`` and ``try_fast_read`` on the
  dataset returned from ``load``
  
  Args:
      config (DictConfig): Configuration of this dataset loaded from config.
      dataset_type (str): Type of dataset, train|val|test
  
  Returns:
      dataset (BaseDataset): Dataset containing data to be trained on
  
  .. warning::
  
      DO NOT OVERRIDE in child class. Instead override ``load``.
docstr_tok: ["Main","load","function","use","by","MMF",".","This","will","internally","call","``","load","``","function",".","Calls","``","init_processors","``","and","``","try_fast_read","``","on","the","dataset","returned","from","``","load","``","Args",":","config","(","DictConfig",")",":","Configuration","of","this","dataset","loaded","from","config",".","dataset_type","(","str",")",":","Type","of","dataset",",","train|val|test","Returns",":","dataset","(","BaseDataset",")",":","Dataset","containing","data","to","be","trained","on","..","warning",":",":","DO","NOT","OVERRIDE","in","child","class",".","Instead","override","``","load","``","."]
code: def load_dataset(self, config, dataset_type="train", *args, **kwargs):
      """Main load function use by MMF. This will internally call ``load``
      function. Calls ``init_processors`` and ``try_fast_read`` on the
      dataset returned from ``load``
  
      Args:
          config (DictConfig): Configuration of this dataset loaded from config.
          dataset_type (str): Type of dataset, train|val|test
  
      Returns:
          dataset (BaseDataset): Dataset containing data to be trained on
  
      .. warning::
  
          DO NOT OVERRIDE in child class. Instead override ``load``.
      """
      dataset = self.load(config, dataset_type, *args, **kwargs)
      if dataset is not None and hasattr(dataset, "init_processors"):
          # Checking for init_processors allows us to load some datasets
          # which don't have processors and don't inherit from BaseDataset
          dataset.init_processors()
      return dataset
  
imports: import uuid
  from typing import Optional
  import pytorch_lightning
  from mmf.utils.build import build_dataloader_and_sampler
  from mmf.utils.logger import log_class_usage
  from omegaconf import DictConfig
  from torch.utils.data import Dataset
label_desc: Use image node_id 13 for calling the BaseDatasetBuilder obj's underlying member method code with example usage: obj.load_dataset(config, dataset_type) and returns: dataset