docstr: Builds the Training and Eval DataLoaders
  
  :param train_test_split: The ratio split of test to train data.
  :param train_shuffle: (bool) True if you wish to shuffle the train_dataset.
  :param eval_shuffle: (bool) True if you wish to shuffle the eval_dataset.
  :return: train dataloader and evaluation dataloader.
docstr_tok: ["Builds","the","Training","and","Eval","DataLoaders",":","param","train_test_split",":","The","ratio","split","of","test","to","train","data",".",":","param","train_shuffle",":","(","bool",")","True","if","you","wish","to","shuffle","the","train_dataset",".",":","param","eval_shuffle",":","(","bool",")","True","if","you","wish","to","shuffle","the","eval_dataset",".",":","return",":","train","dataloader","and","evaluation","dataloader","."]
code: def build_dataloaders(
      self, train_test_split=0.1, train_shuffle=True, eval_shuffle=True
  ):
      """
      Builds the Training and Eval DataLoaders
  
      :param train_test_split: The ratio split of test to train data.
      :param train_shuffle: (bool) True if you wish to shuffle the train_dataset.
      :param eval_shuffle: (bool) True if you wish to shuffle the eval_dataset.
      :return: train dataloader and evaluation dataloader.
      """
      dataset_len = len(self.dataset)
      eval_len = int(dataset_len * train_test_split)
      train_len = dataset_len - eval_len
      train_dataset, eval_dataset = random_split(
          self.dataset, (train_len, eval_len)
      )
      train_loader = DataLoader(
          train_dataset,
          batch_size=self.train_batch_size,
          shuffle=train_shuffle,
      )
      eval_loader = DataLoader(
          eval_dataset,
          batch_size=self.eval_batch_size,
          shuffle=eval_shuffle,
      )
      logging.info(
          f"""train_dataloader size: {len(train_loader.dataset)} | shuffle: {train_shuffle}
                           eval_dataloader size: {len(eval_loader.dataset)} | shuffle: {eval_shuffle}"""
      )
      return train_loader, eval_loader
  
imports: import re
  import torch
  import torch.nn
  import torch.nn.functional
  from torch.utils.data import Dataset, DataLoader, random_split
  from tqdm import tqdm
  from reformer_pytorch import Reformer, ReformerLM
  from transformers import BertTokenizer, PreTrainedTokenizer
  from fairseq.optim.adafactor import Adafactor
  import os
  import json
  import logging
  from datetime import datetime
label_desc: Use image node_id 2 for calling the ReformerTrainer obj's underlying member method code with example usage: obj.build_dataloaders(train_test_split, train_shuffle, eval_shuffle) and returns: train_loader,  eval_loader