code: def default_dataloader(
      self, batch_size=None, num_samples=None, shuffle=True
  ):
      if batch_size is None:
          batch_size = self.val_batch_size
      replacement = num_samples is not None
      if shuffle and self.ds_type == "map":
          sampler = torch.utils.data.RandomSampler(
              self.ds, replacement=replacement, num_samples=num_samples
          )
      else:
          sampler = None
      return torch.utils.data.DataLoader(
          self.ds, batch_size=batch_size, sampler=sampler
      )
  
file_path: TorchDrift/test/test_utils.py
imports: import pytest
  import torchdrift
  import torch
  import torch.utils.data
label_desc: Use image node_id 2 for calling the TensorDataModule obj's underlying member method code with example usage: obj.default_dataloader(batch_size, num_samples, shuffle) and returns: torch