code: def validation_step(self, batch, batch_idx):
      input_nodes, output_nodes, blocks = batch
      x = blocks[0].srcdata["feat"]
      y = blocks[-1].dstdata["label"]
      y_hat = self(blocks, x)
      self.val_acc(torch.argmax(y_hat, 1), y)
      self.log(
          "val_acc",
          self.val_acc,
          prog_bar=True,
          on_step=True,
          on_epoch=True,
          sync_dist=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 5 for calling the SAGE obj's underlying member method code with example usage: obj.validation_step(batch, batch_idx) without return types