docstr: Gets dataloaders based on current rank and the world_size
  
  Args:
      rank (int): the current rank
      world_size (int): the world size of the process group
  
  Returns:
      dataloaders (Tuple[data_utils.DataLoader, data_utils.DataLoader, data_utils.DataLoader]): dataloaders
docstr_tok: ["Gets","dataloaders","based","on","current","rank","and","the","world_size","Args",":","rank","(","int",")",":","the","current","rank","world_size","(","int",")",":","the","world","size","of","the","process","group","Returns",":","dataloaders","(","Tuple","[","data_utils.DataLoader",",","data_utils.DataLoader",",","data_utils.DataLoader","]",")",":","dataloaders"]
code: def get_pytorch_dataloaders(
      self,
      rank: int,
      world_size: int,
  ) -> Tuple[
      data_utils.DataLoader,
      data_utils.DataLoader,
      data_utils.DataLoader,
  ]:
      """
      Gets dataloaders based on current rank and the world_size
  
      Args:
          rank (int): the current rank
          world_size (int): the world size of the process group
  
      Returns:
          dataloaders (Tuple[data_utils.DataLoader, data_utils.DataLoader, data_utils.DataLoader]): dataloaders
  
      """
      train_loader = self._get_train_loader(rank, world_size)
      val_loader = self._get_val_loader(rank, world_size)
      test_loader = self._get_test_loader(rank, world_size)
      return train_loader, val_loader, test_loader
  
imports: from typing import Any, Dict, Tuple
  import pandas
  import torch
  import torch.utils.data
  from torch.utils.data.distributed import DistributedSampler
label_desc: Use image node_id 2 for calling the Bert4RecDataloader obj's underlying member method code with example usage: obj.get_pytorch_dataloaders(rank, world_size) and returns: train_loader,  val_loader,  test_loader