Source code for pytorchart.moremeters.bestmeter



[docs]class BestValueMeter(object): """ Keep track of best value for a metric. Compares metrics and discards wrose value :options: -if top=True, then max(new, current) is kept -if top=False, then min(new, current) is kept """ def __init__(self, metric=None, top=True): self.reset() self._top = top self._metric = metric self.m = 0 self.val = 0
[docs] def add(self, value, m=None): if self._metric is not None and m is not None: mv = self._metric(m) if self._top is True and mv > self.m: self.val = value self.m = mv elif self._top is False and mv < self.m: self.val = value self.m = mv elif self._top is True and value > self.val: self.val = value elif self._top is False and value < self.val: self.val = value
[docs] def value(self): return self.val
[docs] def reset(self): self.val = 0 self.m = 0