code: def prepare_dataloader(dataset_name):
      dataset = get_dataset(dataset_name, sparse=True)
      num_train = int(len(dataset) * 0.8)
      num_val = int(len(dataset) * 0.1)
  
      train_dataset = dataset[:num_train]
      val_dataset = dataset[num_train : num_train + num_val]
      test_dataset = dataset[num_train + num_val :]
  
      train_loader = DataLoader(
          train_dataset, batch_size=args.batch_size, shuffle=True
      )
      val_loader = DataLoader(
          val_dataset, batch_size=args.batch_size, shuffle=False
      )
      test_loader = DataLoader(
          test_dataset, batch_size=args.batch_size, shuffle=False
      )
      return dataset, train_loader, val_loader, test_loader
  
file_path: pytorch_geometric/benchmark/kernel/main_performance.py
imports: import argparse
  from itertools import product
  import torch
  from datasets import get_dataset
  from gcn import GCN
  from gin import GIN
  from graph_sage import GraphSAGE
  from train_eval import eval_acc, inference_run, train
  from torch_geometric import seed_everything
  from torch_geometric.loader import DataLoader
  from torch_geometric.profile import rename_profile_file, timeit, torch_profile
label_desc: Use image node_id 1 for calling a global function with example usage: prepare_dataloader(dataset_name) and returns: dataset,  train_loader,  val_loader,  test_loader