code: def test(adj, features, device, attention):
      accs = []
      for seed in tqdm(range(5)):
          classifier = GCN(
              nfeat=features.shape[1],
              nhid=16,
              nclass=labels.max().item() + 1,
              dropout=0.5,
              device=device,
          )
  
          classifier = classifier.to(device)
  
          classifier.fit(
              features,
              adj,
              labels,
              idx_train,
              train_iters=201,
              idx_val=idx_val,
              idx_test=idx_test,
              verbose=True,
              attention=attention,
          )  # idx_val=idx_val, idx_test=idx_test , model_name=model_name
          classifier.eval()
  
          # classifier.fit(features, adj, labels, idx_train, idx_val) # train with validation model picking
          acc_test, output = classifier.test(idx_test)
          accs.append(acc_test.item())
      mean = np.mean(accs)
      std = np.std(accs)
      return {"mean": mean, "std": std}
  
imports: import os
  import torch
  from deeprobust.graph.targeted_attack import Nettack
  from deeprobust.graph.utils import *
  from deeprobust.graph.data import Dataset
  from deeprobust.graph.global_attack import Metattack
  import argparse
  from deeprobust.graph.defense import *
  from deeprobust.graph.data import Dataset, PrePtbDataset, Dpr2Pyg, AmazonPyg
  from scipy.sparse import csr_matrix
  from tqdm import tqdm
  import scipy
  import scipy.sparse
  import numpy
  from sklearn.preprocessing import normalize
  import pickle
  from autogl.module.model.pyg import AutoGNNGuard, AutoGNNGuard_attack
  from autogl.solver.utils import set_seed
label_desc: Use image node_id 3 for calling a global function with example usage: test(adj, features, device, attention) and returns: dict