code: def __init__(
      self,
      sample_transforms=[],
      weak_aug=[],
      strong_aug=[],
      sup_batch_transforms=[],
      unsup_batch_transforms=[],
      sup_batch_size=1,
      unsup_batch_size=1,
      shuffle=True,
      drop_last=True,
      num_classes=80,
      collate_batch=True,
      use_shared_memory=False,
      **kwargs,
  ):
      # sup transforms
      self._sample_transforms_label = Compose_SSOD(
          sample_transforms,
          weak_aug,
          strong_aug,
          num_classes=num_classes,
      )
      self._batch_transforms_label = BatchCompose_SSOD(
          sup_batch_transforms, num_classes, collate_batch
      )
      self.batch_size_label = sup_batch_size
  
      # unsup transforms
      self._sample_transforms_unlabel = Compose_SSOD(
          sample_transforms,
          weak_aug,
          strong_aug,
          num_classes=num_classes,
      )
      self._batch_transforms_unlabel = BatchCompose_SSOD(
          unsup_batch_transforms, num_classes, collate_batch
      )
      self.batch_size_unlabel = unsup_batch_size
  
      # common
      self.shuffle = shuffle
      self.drop_last = drop_last
      self.use_shared_memory = use_shared_memory
      self.kwargs = kwargs
  
imports: import copy
  import os
  import traceback
  import six
  import sys
  import numpy
  import paddle
  import paddle.nn.functional
  from copy import deepcopy
  from paddle.io import DataLoader, DistributedBatchSampler
  from .utils import default_collate_fn
  from ppdet.core.workspace import register
  from .None import transform
  from .shm_utils import _get_shared_memory_size_in_M
  from ppdet.utils.logger import setup_logger
label_desc: Use image node_id 1 to create a new BaseSemiDataLoader object from inherited base classes: object with example: obj = BaseSemiDataLoader(sample_transforms, weak_aug, strong_aug, sup_batch_transforms, unsup_batch_transforms, sup_batch_size, unsup_batch_size, shuffle, drop_last, num_classes, collate_batch, use_shared_memory)