def __init__(self,
                 dataset,
                 batch_size,
                 shuffle=True,
                 num_workers=1,
                 current_iter=0,
                 repeat=1):
        """Initializes the data loader.

        Args:
            dataset: The dataset to load data from.
            batch_size: The batch size on each GPU.
            shuffle: Whether to shuffle the data. (default: True)
            num_workers: Number of data workers for each GPU. (default: 1)
            current_iter: The current number of iterations. (default: 0)
            repeat: The repeating number of the whole dataloader. (default: 1)
        """
        self._dataset = dataset
        self.batch_size = batch_size
        self.shuffle = shuffle
        self.num_workers = num_workers
        self._dataloader = None
        self.iter_loader = None
        self._iter = current_iter
        self.repeat = repeat
        self.build_dataloader()
Initializes the data loader.

        Args:
            dataset: The dataset to load data from.
            batch_size: The batch size on each GPU.
            shuffle: Whether to shuffle the data. (default: True)
            num_workers: Number of data workers for each GPU. (default: 1)
            current_iter: The current number of iterations. (default: 0)
            repeat: The repeating number of the whole dataloader. (default: 1)
        
datasets/dataloaders.py