class_docstr: 不考虑不同 Role 之间的顺序，例如事件论元
code: def count_instance(self, gold_list, pred_list):
      if self.match_mode == "set":
          raise NotImplementedError(
              f"{self.__class__.__name__} do not support the match model `set`"
          )
  
      if self.verbose:
          print("Gold:", gold_list)
          print("Pred:", pred_list)
  
      self.gold_num += len(gold_list)
      self.pred_num += len(pred_list)
  
      gold_indexes = list(range(len(gold_list)))
      non_found = [True] * len(gold_list)
      for pred in pred_list:
          for gold_index in gold_indexes:
              if non_found[gold_index] and self.is_equal(
                  gold_list[gold_index], pred
              ):
                  self.tp += 1
                  non_found[gold_index] = False
                  if self.match_mode == "normal":
                      break
  
imports: from collections import defaultdict
  from copy import deepcopy
  from typing import Dict, List
  import sys
label_desc: Use image node_id 2 for calling the RecordMetric obj's underlying member method code with example usage: obj.count_instance(gold_list, pred_list) without return types