docstr: The class controlling how the source and target domains are iterated over when the input is joint.
      Inherited from MultiDomainDatasets.
  Args:
      source_access_dict (dictionary): dictionary of source RGB and flow dataset accessors
      target_access_dict (dictionary): dictionary of target RGB and flow dataset accessors
      image_modality (string): image type (RGB or Optical Flow)
      seed (int): seed value set manually.
      class_ids (list, optional): List of chosen subset of class ids. Defaults to None (=> All Classes).
docstr_tok: ["The","class","controlling","how","the","source","and","target","domains","are","iterated","over","when","the","input","is","joint",".","Inherited","from","MultiDomainDatasets",".","Args",":","source_access_dict","(","dictionary",")",":","dictionary","of","source","RGB","and","flow","dataset","accessors","target_access_dict","(","dictionary",")",":","dictionary","of","target","RGB","and","flow","dataset","accessors","image_modality","(","string",")",":","image","type","(","RGB","or","Optical","Flow",")","seed","(","int",")",":","seed","value","set","manually",".","class_ids","(","list",",","optional",")",":","List","of","chosen","subset","of","class","ids",".","Defaults","to","None","(","=",">","All","Classes",")","."]
code: def __init__(
      self,
      source_access_dict,
      target_access_dict,
      image_modality,
      seed,
      config_weight_type="natural",
      config_size_type=DatasetSizeType.Max,
      valid_split_ratio=0.1,
      source_sampling_config=None,
      target_sampling_config=None,
      n_fewshot=None,
      random_state=None,
      class_ids=None,
  ):
      """The class controlling how the source and target domains are iterated over when the input is joint.
          Inherited from MultiDomainDatasets.
      Args:
          source_access_dict (dictionary): dictionary of source RGB and flow dataset accessors
          target_access_dict (dictionary): dictionary of target RGB and flow dataset accessors
          image_modality (string): image type (RGB or Optical Flow)
          seed (int): seed value set manually.
          class_ids (list, optional): List of chosen subset of class ids. Defaults to None (=> All Classes).
      """
  
      self._image_modality = image_modality
      self.rgb, self.flow = get_image_modality(self._image_modality)
      self._seed = seed
  
      if self.rgb:
          source_access = source_access_dict["rgb"]
          target_access = target_access_dict["rgb"]
      if self.flow:
          source_access = source_access_dict["flow"]
          target_access = target_access_dict["flow"]
  
      weight_type = WeightingType(config_weight_type)
      size_type = DatasetSizeType(config_size_type)
  
      if weight_type is WeightingType.PRESET0:
          self._source_sampling_config = FixedSeedSamplingConfig(
              class_weights=np.arange(source_access.n_classes(), 0, -1)
          )
          self._target_sampling_config = FixedSeedSamplingConfig(
              class_weights=np.random.randint(
                  1, 4, size=target_access.n_classes()
              )
          )
      elif weight_type is WeightingType.BALANCED:
          self._source_sampling_config = FixedSeedSamplingConfig(
              balance=True
          )
          self._target_sampling_config = FixedSeedSamplingConfig(
              balance=True
          )
      elif weight_type not in WeightingType:
          raise ValueError(f"Unknown weighting method {weight_type}.")
      else:
          self._source_sampling_config = FixedSeedSamplingConfig(
              seed=self._seed
          )
          self._target_sampling_config = FixedSeedSamplingConfig(
              seed=self._seed
          )
  
      self._source_access_dict = source_access_dict
      self._target_access_dict = target_access_dict
      self._valid_split_ratio = valid_split_ratio
      self._rgb_source_by_split = {}
      self._flow_source_by_split = {}
      self._rgb_target_by_split = {}
      self._flow_target_by_split = {}
      self._size_type = size_type
      self._n_fewshot = n_fewshot
      self._random_state = check_random_state(random_state)
      self._source_by_split = {}
      self._labeled_target_by_split = None
      self._target_by_split = {}
      self.class_ids = class_ids
  
file_path: pykale/kale/loaddata/video_multi_domain.py
imports: import logging
  import numpy
  from sklearn.utils import check_random_state
  from kale.loaddata.dataset_access import get_class_subset
  from kale.loaddata.multi_domain import DatasetSizeType, MultiDomainDatasets, WeightingType
  from kale.loaddata.sampler import FixedSeedSamplingConfig, MultiDataLoader
  from kale.loaddata.video_access import get_image_modality
label_desc: Use image node_id 1 to create a new VideoMultiDomainDatasets object from inherited base classes: MultiDomainDatasets with example: obj = VideoMultiDomainDatasets(source_access_dict, target_access_dict, image_modality, seed, config_weight_type, config_size_type, valid_split_ratio, source_sampling_config, target_sampling_config, n_fewshot, random_state, class_ids)