code: def test(train_ratio=0.1):
      model.eval()
  
      z = model("author", batch=data["author"].y_index.to(device))
      y = data["author"].y
  
      perm = torch.randperm(z.size(0))
      train_perm = perm[: int(z.size(0) * train_ratio)]
      test_perm = perm[int(z.size(0) * train_ratio) :]
  
      return model.test(
          z[train_perm],
          y[train_perm],
          z[test_perm],
          y[test_perm],
          max_iter=150,
      )
  
imports: import os.path
  import torch
  from torch_geometric.datasets import AMiner
  from torch_geometric.nn import MetaPath2Vec
label_desc: Use image node_id 2 for calling a global function with example usage: test(train_ratio) and returns: model