code: def test(out=None):
      model.eval()
      out = model(x) if out is None else out
      pred = out.argmax(dim=-1, keepdim=True)
      train_acc = evaluator.eval(
          {"y_true": y[train_idx], "y_pred": pred[train_idx]}
      )["acc"]
      val_acc = evaluator.eval(
          {"y_true": y[val_idx], "y_pred": pred[val_idx]}
      )["acc"]
      test_acc = evaluator.eval(
          {"y_true": y[test_idx], "y_pred": pred[test_idx]}
      )["acc"]
      return train_acc, val_acc, test_acc, out
  
imports: import os.path
  import torch
  from ogb.nodeproppred import Evaluator, PygNodePropPredDataset
  import torch_geometric.transforms
  from torch_geometric.nn import MLP, CorrectAndSmooth
  from torch_geometric.typing import WITH_TORCH_SPARSE
label_desc: Use image node_id 2 for calling a global function with example usage: test(out) and returns: train_acc,  val_acc,  test_acc,  out