code: def __call__(self, arc_preds, rel_preds, arc_golds, rel_golds, mask):
      lens = mask.sum(1)
      arc_mask = arc_preds.eq(arc_golds) & mask
      rel_mask = rel_preds.eq(rel_golds) & arc_mask
      arc_mask_seq, rel_mask_seq = arc_mask[mask], rel_mask[mask]
  
      self.n += len(mask)
      self.n_ucm += arc_mask.sum(1).eq(lens).sum().item()
      self.n_lcm += rel_mask.sum(1).eq(lens).sum().item()
  
      self.total += len(arc_mask_seq)
      self.correct_arcs += arc_mask_seq.sum().item()
      self.correct_rels += rel_mask_seq.sum().item()
  
imports: from collections import Counter
label_desc: Use image node_id 3 for calling the AttachmentMetric obj's underlying member method code with example usage: obj.__call__(arc_preds, rel_preds, arc_golds, rel_golds, mask) without return types