code: def compute(self):
      results = {}
      results["acc"] = self.correct.float() / self.total
      for category in self.categories:
          results[category] = getattr(
              self, f"{category}_correct"
          ) / getattr(self, f"{category}_total")
      for category in self.categories:
          results[f"{category}_total"] = getattr(
              self, f"{category}_total"
          )
      return results
  
imports: import logging
  import re
  import string
  from collections import Counter
  from typing import List, Union
  import torch
  from torchmetrics import Metric
label_desc: Use image node_id 3 for calling the ExactStringPerCategoryMatchMetric obj's underlying member method code with example usage: obj.compute() and returns: results