code: def __init__(
      self,
      dataset,
      model="GraphSAGE",
      device=0,
      rank=0,
      world_size=1,
      num_epochs=1,
      **kwargs,
  ):
      self.__dataset = dataset
      self.__device = device
      self.__data = None
      self.__rank = rank
      self.__num_epochs = num_epochs
      self.__world_size = world_size
      self.__loader_kwargs = kwargs
      self.__model = self.get_model(model)
      self.__optimizer = None
  
imports: from trainers import Trainer
  from trainers import extend_tensor
  from datasets import OGBNPapers100MDataset
  from models.pyg import GraphSAGE
  import torch
  import numpy
  import torch.distributed
  from torch.nn.parallel import DistributedDataParallel
  import torch.nn.functional
  from torch_geometric.utils.sparse import index2ptr
  from torch_geometric.data import HeteroData
  from torch_geometric.loader import NeighborLoader
  import gc
  import os
  import time
label_desc: Use image node_id 1 to create a new PyGNativeTrainer object from inherited base classes: PyGTrainer with example: obj = PyGNativeTrainer(dataset, model, device, rank, world_size, num_epochs)