code: def test():
      model.eval()
      perfs = []
      for prefix in ["val", "test"]:
          pos_edge_index = data[f"{prefix}_pos_edge_index"]
          neg_edge_index = data[f"{prefix}_neg_edge_index"]
  
          z = model.encode(data)
          link_logits = model.decode(z, pos_edge_index, neg_edge_index)
          link_probs = link_logits.sigmoid()
  
          link_labels = get_link_labels(pos_edge_index, neg_edge_index)
  
          perfs.append(
              roc_auc_score(link_labels.cpu(), link_probs.cpu())
          )
      return perfs
  
imports: import time
  import torch
  import torch.nn.functional
  import numpy
  import random
  from torch_geometric.datasets import Planetoid
  from torch_geometric.nn import GCNConv, GATConv, SAGEConv
  import torch_geometric.transforms
  from torch_geometric.utils import train_test_split_edges
  from torch_geometric.utils import negative_sampling
  import os.path
  from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter
  from tqdm import tqdm
  from sklearn.metrics import roc_auc_score
label_desc: Use image node_id 4 for calling a global function with example usage: test() and returns: perfs