add configurable ignore classes for KIEMetric

pull/7006/head
Felix.Chen 2022-07-27 10:35:03 +08:00
parent 4196e5d3d9
commit 6b173e630d
2 changed files with 8 additions and 2 deletions

View File

@ -54,6 +54,8 @@ PostProcess:
Metric:
name: KIEMetric
main_indicator: hmean
# Classes that will be ignored while computing F1 score.
ignore_classes: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 25]
Train:
dataset:

View File

@ -24,8 +24,12 @@ __all__ = ['KIEMetric']
class KIEMetric(object):
def __init__(self, main_indicator='hmean', **kwargs):
def __init__(self,
main_indicator='hmean',
ignore_classes=[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 25],
**kwargs):
self.main_indicator = main_indicator
self.ignore_classes = ignore_classes
self.reset()
self.node = []
self.gt = []
@ -40,7 +44,7 @@ class KIEMetric(object):
# self.results.append(result)
def compute_f1_score(self, preds, gts):
ignores = [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 25]
ignores = self.ignore_classes
C = preds.shape[1]
classes = np.array(sorted(set(range(C)) - set(ignores)))
hist = np.bincount(