class_docstr: Base Self Supervised Learning Dataset Class.
  
  The GenericSSLDataset class is defined to support reading data
  from multiple data sources. For example: data = [dataset1, dataset2]
  and the minibatches generated will have the corresponding data
  from each dataset.
  
  For this reason, we also support labels from multiple sources. For example
  targets = [dataset1 targets, dataset2 targets].
  
  In order to support multiple data sources, the dataset configuration
  always has list inputs.
      - DATA_SOURCES, LABEL_SOURCES, DATASET_NAMES, DATA_PATHS, LABEL_PATHS
  
  For several data sources, we also support specifying on what dataset the
  transforms should be applied. By default, apply the transforms
  on data from all datasets.
  
  Args:
      cfg (AttrDict): configuration defined by user
      split (str): the dataset split for which we are constructing the Dataset object
      dataset_source_map (Dict[str, Callable]): The dictionary that maps
                  what data sources are supported and what object to use to read
                  data from those sources. For example:
                  DATASET_SOURCE_MAP = {
                      "disk_filelist": DiskImageDataset,
                      "disk_folder": DiskImageDataset,
                      "synthetic": SyntheticImageDataset,
                  }
      data_sources_with_subset (Set[str]): the set of datasets for which the subset
                  operation is supported inside GenericSSLDataset
docstr: No-op method. Used with other datasets that need state.
docstr_tok: ["No-op","method",".","Used","with","other","datasets","that","need","state","."]
code: def set_classy_state(self, state: Dict[str, Any]):
      """
      No-op method. Used with other datasets that need state.
      """
      pass
  
imports: import logging
  from typing import Any, Callable, Dict, Set
  import numpy
  from classy_vision.generic.distributed_util import get_world_size
  from iopath.common.file_io import g_pathmgr
  from vissl.config import AttrDict
  from vissl.data import dataset_catalog
  from vissl.data.data_helper import balanced_sub_sampling, unbalanced_sub_sampling
  from vissl.data.ssl_transforms import get_transform
  from vissl.data.vissl_dataset_base import VisslDatasetBase
  from vissl.utils.checkpoint import get_checkpoint_folder
  from vissl.utils.env import get_machine_local_and_dist_rank
  from vissl.utils.io import save_file
label_desc: Use image node_id 19 for calling the GenericSSLDataset obj's underlying member method code with example usage: obj.set_classy_state(state) without return types