diff --git a/src/utils/metrics.py b/src/utils/metrics.py index 6610bfb5cf5f0110a1f347acfdafdf509ddbc2a0..9c71f97bdf54c39228e0013e107d721b7f1a9a6b 100644 --- a/src/utils/metrics.py +++ b/src/utils/metrics.py @@ -66,9 +66,12 @@ class Metric(AverageMeter): return self._compute(cm)[1] def update(self, pred, true, n=1): - # Note that this is no thread-safe self._cm.update(true.ravel(), pred.ravel()) if self.mode == 'accum': + # Note that accumulation mode is special in that metric.val saves historical information. + # Therefore, metric.avg IS USUALLY NOT THE "AVERAGE" VALUE YOU WANT!!! + # Instead, metric.val is the averaged result in the sense of metric.avg in separ mode, + # while metric.avg can be considered as some average of average. cm = self._cm.sum elif self.mode == 'separ': cm = self._cm.val