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: NOTE: The caller to this function should only call this on main process
  in a distributed settings so that downloads and build only happen
  on main process and others can just load it. Make sure to call
  synchronize afterwards to bring all processes in sync.
  
  Lightning automatically wraps datamodule in a way that it is only
  called on a main node, but for extra precaution as lightning
  can introduce bugs, we should always call this under main process
  with extra checks on our sides as well.
docstr_tok: ["NOTE",":","The","caller","to","this","function","should","only","call","this","on","main","process","in","a","distributed","settings","so","that","downloads","and","build","only","happen","on","main","process","and","others","can","just","load","it",".","Make","sure","to","call","synchronize","afterwards","to","bring","all","processes","in","sync",".","Lightning","automatically","wraps","datamodule","in","a","way","that","it","is","only","called","on","a","main","node",",","but","for","extra","precaution","as","lightning","can","introduce","bugs",",","we","should","always","call","this","under","main","process","with","extra","checks","on","our","sides","as","well","."]
code: def prepare_data(self, config, *args, **kwargs):
      """
      NOTE: The caller to this function should only call this on main process
      in a distributed settings so that downloads and build only happen
      on main process and others can just load it. Make sure to call
      synchronize afterwards to bring all processes in sync.
  
      Lightning automatically wraps datamodule in a way that it is only
      called on a main node, but for extra precaution as lightning
      can introduce bugs, we should always call this under main process
      with extra checks on our sides as well.
      """
      self.config = config
      self.build_dataset(config)
  
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 4 for calling the BaseDatasetBuilder obj's underlying member method code with example usage: obj.prepare_data(config) without return types