code: def create_dataset():
      # Load dataset
      time1 = time.time()
      if cfg.dataset.format == "OGB":
          graphs, splits = load_dataset()
      else:
          graphs = load_dataset()
  
      # Filter graphs
      time2 = time.time()
      min_node = filter_graphs()
  
      # Create whole dataset
      dataset = GraphDataset(
          graphs,
          task=cfg.dataset.task,
          edge_train_mode=cfg.dataset.edge_train_mode,
          edge_message_ratio=cfg.dataset.edge_message_ratio,
          edge_negative_sampling_ratio=cfg.dataset.edge_negative_sampling_ratio,
          resample_disjoint=cfg.dataset.resample_disjoint,
          minimum_node_per_graph=min_node,
      )
  
      # Transform the whole dataset
      dataset = transform_before_split(dataset)
  
      # Split dataset
      time3 = time.time()
      # Use custom data splits
      if cfg.dataset.format == "OGB":
          datasets = []
          datasets.append(dataset[splits["train"]])
          datasets.append(dataset[splits["valid"]])
          datasets.append(dataset[splits["test"]])
      # Use random split, supported by DeepSNAP
      else:
          datasets = dataset.split(
              transductive=cfg.dataset.transductive,
              split_ratio=cfg.dataset.split,
              shuffle=cfg.dataset.shuffle_split,
          )
      # We only change the training negative sampling ratio
      for i in range(1, len(datasets)):
          dataset.edge_negative_sampling_ratio = 1
  
      # Transform each split dataset
      time4 = time.time()
      datasets = transform_after_split(datasets)
      set_dataset_info(datasets)
  
      time5 = time.time()
      logging.info(
          "Load: {:.4}s, Before split: {:.4}s, "
          "Split: {:.4}s, After split: {:.4}s".format(
              time2 - time1, time3 - time2, time4 - time3, time5 - time4
          )
      )
  
      return datasets
  
imports: import logging
  import pickle
  import time
  import networkx
  import torch
  import torch_geometric.transforms
  from deepsnap.batch import Batch
  from deepsnap.dataset import GraphDataset
  from ogb.graphproppred import PygGraphPropPredDataset
  from torch.utils.data import DataLoader
  from torch_geometric.datasets import PPI, Amazon, Coauthor, KarateClub, MNISTSuperpixels, Planetoid, QM7b, TUDataset
  import graphgym.models.feature_augment
  import graphgym.register
  from graphgym.config import cfg
  from graphgym.models.transform import edge_nets, ego_nets, path_len, remove_node_feature
label_desc: Use image node_id 8 for calling a global function with example usage: create_dataset() and returns: datasets