code: def shuffle_loader(batch_loader):
      """Reshuffle the batch loader."""
      if is_torch_object(batch_loader) and "DataLoader" in str(
          type(batch_loader)
      ):
          from deepchecks.vision.utils.test_utils import (
              get_data_loader_sequential,
          )  # pylint: disable=import-outside-toplevel
  
          try:
              _ = len(batch_loader)
              return get_data_loader_sequential(
                  data_loader=batch_loader, shuffle=True
              )
          except Exception:  # pylint: disable=broad-except
              pass
      elif is_tensorflow_object(batch_loader) and "Dataset" in str(
          type(batch_loader)
      ):
          get_logger().warning(
              "Shuffling for tensorflow datasets is not supported. Make sure that the data used to "
              "create the Dataset was shuffled beforehand and set shuffle_batch_loader=False"
          )
          return batch_loader
      get_logger().warning(
          "Shuffling is not supported for received batch loader. Make sure that your provided "
          "batch loader is indeed shuffled and set shuffle_batch_loader=False"
      )
      return batch_loader
  
imports: import random
  import sys
  import typing
  from collections import Counter
  from enum import Enum
  from numbers import Number
  import numpy
  from typing_extensions import NotRequired, TypedDict
  from deepchecks.core.errors import DatasetValidationError
  from deepchecks.utils.logger import get_logger
label_desc: Use image node_id 3 for calling a global function with example usage: shuffle_loader(batch_loader) and returns: batch_loader, get_data_loader_sequential, batch_loader