code: def eval_test(
      parser, program, model, test_exe, graph, y_true, split_idx
  ):
      feed_dict = model.gw.to_feed(graph)
      if parser.use_label_e:
          feed_dict["label"] = y_true
          feed_dict["label_idx"] = split_idx["train"]
          feed_dict["attn_drop"] = -1
  
      avg_cost_np = test_exe.run(
          program=program, feed=feed_dict, fetch_list=[model.out_feat]
      )
  
      y_pred = avg_cost_np[0].argmax(axis=-1)
      y_pred = np.expand_dims(y_pred, 1)
  
      train_acc = evaluator.eval(
          {
              "y_true": y_true[split_idx["train"]],
              "y_pred": y_pred[split_idx["train"]],
          }
      )["acc"]
      val_acc = evaluator.eval(
          {
              "y_true": y_true[split_idx["valid"]],
              "y_pred": y_pred[split_idx["valid"]],
          }
      )["acc"]
      test_acc = evaluator.eval(
          {
              "y_true": y_true[split_idx["test"]],
              "y_pred": y_pred[split_idx["test"]],
          }
      )["acc"]
  
      return train_acc, val_acc, test_acc
  
file_path: PGL/ogb_examples/nodeproppred/ogbn-arxiv/unimp_appnp_vnode_smooth/main_arxiv_appnp_vnode_smooth.py
imports: import math
  import ssl
  from ogb.nodeproppred import Evaluator
  import paddle
  import pgl
  import numpy
  import paddle.fluid
  import paddle.fluid.layers
  from pgl.contrib.ogb.nodeproppred.dataset_pgl import PglNodePropPredDataset
  from utils import to_undirected, add_self_loop, linear_warmup_decay, add_vnode
  from model import Arxiv_baseline_model, Arxiv_label_embedding_model
  import argparse
  from tqdm import tqdm
label_desc: Use image node_id 3 for calling a global function with example usage: eval_test(parser, program, model, test_exe, graph, y_true, split_idx) and returns: train_acc,  val_acc,  test_acc