code: def train_dataloader(self):
      return dgl.dataloading.DataLoader(
          self.g,
          self.train_nid,
          self.sampler,
          device=self.device,
          use_uva=self.use_uva,
          batch_size=self.batch_size,
          shuffle=True,
          drop_last=True,
          num_workers=self.num_workers,
          gpu_cache=self.gpu_cache_arg,
      )
  
imports: import argparse
  import glob
  import math
  import os
  import time
  import dgl
  import torch
  import torch.nn
  import torch.nn.functional
  from ladies_sampler import LadiesSampler, normalized_edata, PoissonLadiesSampler
  from load_graph import load_dataset
  from model import SAGE
  from pytorch_lightning import LightningDataModule, LightningModule, Trainer
  from pytorch_lightning.callbacks import Callback, EarlyStopping, ModelCheckpoint
  from pytorch_lightning.loggers import TensorBoardLogger
  from torchmetrics.classification import MulticlassF1Score, MultilabelF1Score
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