code: def build_dataset(cfg, split, **kwargs):
      """
      Given the user defined config and the dataset split (train/val), build
      the dataset.
  
      Args:
          cfg (AttrDict): user defined configuration file
          split (str): dataset split (from train or test)
  
      Returns:
          Instance of GenericSSLDataset
      """
      return GenericSSLDataset(
          cfg=cfg,
          split=split,
          dataset_source_map=DATASET_SOURCE_MAP,
          data_sources_with_subset=DATA_SOURCES_WITH_SUBSET_SUPPORT,
      )
  
imports: import logging
  import random
  import numpy
  import torch
  import torch.distributed
  from classy_vision.dataset import DataloaderAsyncGPUWrapper
  from torch.utils.data import DataLoader
  from vissl.data.airstore_dataset import AirstoreDataset
  from vissl.data.collators import get_collator
  from vissl.data.data_helper import ClassPowerlawSampler, DeterministicDistributedSampler, StatefulDistributedSampler, StratifiedClassSampler
  from vissl.data.dataloader_sync_gpu_wrapper import DataloaderSyncGPUWrapper
  from vissl.data.dataset_catalog import get_data_files, register_datasets, VisslDatasetCatalog
  from vissl.data.disk_dataset import DiskImageDataset
  from vissl.data.ssl_dataset import GenericSSLDataset
  from vissl.data.synthetic_dataset import SyntheticImageDataset
  from vissl.data.torchvision_dataset import TorchvisionDataset
  from vissl.utils.misc import set_dataloader_seeds, setup_multiprocessing_method
label_desc: Use image node_id 1 for calling a global function with example usage: build_dataset(cfg, split) and returns: GenericSSLDataset