code: def create_dataloader(self, node_set, is_train):
      datapipe = gb.ItemSampler(
          node_set,
          batch_size=self.batch_size,
          shuffle=True,
          drop_last=True,
      )
      sampler = (
          datapipe.sample_layer_neighbor
          if is_train
          else datapipe.sample_neighbor
      )
      datapipe = sampler(self.graph, self.fanouts)
      datapipe = datapipe.fetch_feature(self.feature_store, ["feat"])
      dataloader = gb.DataLoader(datapipe, num_workers=self.num_workers)
      return dataloader
  
imports: import argparse
  import dgl.graphbolt
  import dgl.nn.pytorch
  import torch
  import torch.nn
  import torch.nn.functional
  from pytorch_lightning import LightningDataModule, LightningModule, Trainer
  from pytorch_lightning.callbacks import EarlyStopping, 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.create_dataloader(node_set, is_train) and returns: dataloader