code: def test(data):
      model.eval()
      z = model.encode(data.x, data.edge_index)
  
      # Cluster embedded values using k-means.
      kmeans_input = z.cpu().numpy()
      kmeans = KMeans(n_clusters=7, random_state=0).fit(kmeans_input)
      pred = kmeans.predict(kmeans_input)
  
      labels = data.y.cpu().numpy()
      completeness = completeness_score(labels, pred)
      hm = homogeneity_score(labels, pred)
      nmi = v_measure_score(labels, pred)
  
      auc, ap = model.test(
          z, data.pos_edge_label_index, data.neg_edge_label_index
      )
  
      return auc, ap, completeness, hm, nmi
  
imports: import os.path
  import matplotlib.pyplot
  import torch
  from sklearn.cluster import KMeans
  from sklearn.manifold import TSNE
  from sklearn.metrics.cluster import completeness_score, homogeneity_score, v_measure_score
  from torch.nn import Linear
  import torch_geometric.transforms
  from torch_geometric.datasets import Planetoid
  from torch_geometric.nn import ARGVA, GCNConv
label_desc: Use image node_id 2 for calling a global function with example usage: test(data) and returns: auc,  ap,  completeness,  hm,  nmi