code: def add_result(self, run, result):
      # result is in the format of (val_score, test_score)
      assert len(result) == 2
      assert run >= 0 and run < len(self.results)
      self.results[run].append(result)
  
imports: import argparse
  import math
  import os
  import random
  import sys
  import time
  import dgl
  import numpy
  import torch
  import torch.nn.functional
  from dgl.dataloading import DataLoader, Sampler
  from dgl.nn import GraphConv, SortPooling
  from dgl.sampling import global_uniform_negative_sampling
  from ogb.linkproppred import DglLinkPropPredDataset, Evaluator
  from scipy.sparse.csgraph import shortest_path
  from torch.nn import BCEWithLogitsLoss, Conv1d, Embedding, Linear, MaxPool1d, ModuleList
  from tqdm import tqdm
label_desc: Use image node_id 2 for calling the Logger obj's underlying member method code with example usage: obj.add_result(run, result) without return types