code: def get_domain_loaders(self, split="train", batch_size=32):
      source_ds = self._source_by_split[split]
      source_loader = self._source_sampling_config.create_loader(
          source_ds, batch_size
      )
      target_ds = self._target_by_split[split]
  
      if self._labeled_target_by_split is None:
          # unsupervised target domain
          target_loader = self._target_sampling_config.create_loader(
              target_ds, batch_size
          )
          n_dataset = DatasetSizeType.get_size(
              self._size_type, source_ds, target_ds
          )
          return MultiDataLoader(
              dataloaders=[source_loader, target_loader],
              n_batches=max(n_dataset // batch_size, 1),
          )
      else:
          # semi-supervised target domain
          target_labeled_ds = self._labeled_target_by_split[split]
          target_unlabeled_ds = target_ds
          # label domain: always balanced
          target_labeled_loader = SamplingConfig(
              balance=True, class_weights=None
          ).create_loader(
              target_labeled_ds,
              batch_size=min(len(target_labeled_ds), batch_size),
          )
          target_unlabeled_loader = (
              self._target_sampling_config.create_loader(
                  target_unlabeled_ds, batch_size
              )
          )
          n_dataset = DatasetSizeType.get_size(
              self._size_type,
              source_ds,
              target_labeled_ds,
              target_unlabeled_ds,
          )
          return MultiDataLoader(
              dataloaders=[
                  source_loader,
                  target_labeled_loader,
                  target_unlabeled_loader,
              ],
              n_batches=max(n_dataset // batch_size, 1),
          )
  
imports: import logging
  import os
  from enum import Enum
  from typing import Any, Callable, cast, Dict, List, Optional, Tuple
  import numpy
  import torch.utils.data
  from sklearn.utils import check_random_state
  from torchvision.datasets import VisionDataset
  from torchvision.datasets.folder import default_loader, has_file_allowed_extension, IMG_EXTENSIONS
  from kale.loaddata.dataset_access import DatasetAccess, get_class_subset, split_by_ratios
  from kale.loaddata.sampler import FixedSeedSamplingConfig, get_labels, MultiDataLoader, SamplingConfig
label_desc: Use image node_id 4 for calling the MultiDomainDatasets obj's underlying member method code with example usage: obj.get_domain_loaders(split, batch_size) and returns: MultiDataLoader, MultiDataLoader