code: def __init__(
      self,
      graph_wrapper=None,
      buf_size=1000,
      batch_size=128,
      num_workers=1,
      samples=[30, 30],
      shuffle=True,
      phase="train",
  ):
      super(ArxivDataGenerator, self).__init__(
          buf_size=buf_size,
          num_workers=num_workers,
          batch_size=batch_size,
          shuffle=shuffle,
      )
      self.samples = samples
      self.d_name = "ogbn-arxiv"
      self.graph_wrapper = graph_wrapper
      dataset = PglNodePropPredDataset(name=self.d_name)
      splitted_idx = dataset.get_idx_split()
      self.phase = phase
      graph, label = dataset[0]
      graph = to_undirected(graph)
      self.graph = graph
      self.num_nodes = graph.num_nodes
      if self.phase == "train":
          nodes_idx = splitted_idx["train"]
          labels = label[nodes_idx]
      elif self.phase == "valid":
          nodes_idx = splitted_idx["valid"]
          labels = label[nodes_idx]
      elif self.phase == "test":
          nodes_idx = splitted_idx["test"]
          labels = label[nodes_idx]
      self.nodes_idx = nodes_idx
      self.labels = labels
      self.sample_based_line_example(nodes_idx, labels)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from __future__ import unicode_literals
  from __future__ import absolute_import
  from dataloader.base_dataloader import BaseDataGenerator
  from utils.to_undirected import to_undirected
  import ssl
  from pgl.contrib.ogb.nodeproppred.dataset_pgl import PglNodePropPredDataset
  from pgl.sample import graph_saint_random_walk_sample
  from ogb.nodeproppred import Evaluator
  import tqdm
  from collections import namedtuple
  import pgl
  import numpy
  import copy
label_desc: Use image node_id 1 to create a new ArxivDataGenerator object from inherited base classes: BaseDataGenerator with example: obj = ArxivDataGenerator(graph_wrapper, buf_size, batch_size, num_workers, samples, shuffle, phase)