code: def evaluate(dataloader, device, model):
      model.eval()
      total = 0
      total_correct = 0
      for batched_graph, labels in dataloader:
          batched_graph = batched_graph.to(device)
          labels = labels.to(device)
          feat = batched_graph.ndata.pop("attr")
          total += len(labels)
          logits = model(batched_graph, feat)
          _, predicted = torch.max(logits, 1)
          total_correct += (predicted == labels).sum().item()
      acc = 1.0 * total_correct / total
      return acc
  
imports: import argparse
  import numpy
  import torch
  import torch.nn
  import torch.nn.functional
  import torch.optim
  from dgl.data import GINDataset
  from dgl.dataloading import GraphDataLoader
  from dgl.nn.pytorch.conv import GINConv
  from dgl.nn.pytorch.glob import SumPooling
  from sklearn.model_selection import StratifiedKFold
  from torch.utils.data.sampler import SubsetRandomSampler
label_desc: Use image node_id 2 for calling a global function with example usage: evaluate(dataloader, device, model) and returns: acc