code: def train_dataloader(self):
      return dgl.dataloading.DataLoader(
          self.g,
          self.train_idx.to("cuda"),
          self.sampler,
          device="cuda",
          batch_size=self.batch_size,
          shuffle=True,
          drop_last=False,
          # For CPU sampling, set num_workers to nonzero and use_uva=False
          # Set use_ddp to False for single GPU.
          num_workers=0,
          use_uva=True,
          use_ddp=True,
      )
  
imports: import glob
  import os
  import dgl
  import dgl.nn.pytorch
  import torch
  import torch.nn
  import torch.nn.functional
  import torch.optim
  import torchmetrics.functional
  import tqdm
  from ogb.nodeproppred import DglNodePropPredDataset
  from pytorch_lightning import LightningDataModule, LightningModule, Trainer
  from pytorch_lightning.callbacks import ModelCheckpoint
  from torchmetrics import Accuracy
label_desc: Use image node_id 2 for calling the DataModule obj's underlying member method code with example usage: obj.train_dataloader() and returns: dgl