Spaces:
Runtime error
Runtime error
from collections import OrderedDict | |
class MetricTracker: | |
def __init__(self, opt): | |
self.opt = opt | |
self.metrics = {} | |
def moving_average(self, old, new): | |
s = 0.98 | |
return old * (s) + new * (1 - s) | |
def update_metrics(self, metric_dict, smoothe=True): | |
default_smoothe = smoothe | |
for k, v in metric_dict.items(): | |
if k == "D_R1": | |
smoothe = False | |
else: | |
smoothe = default_smoothe | |
if k in self.metrics and smoothe: | |
self.metrics[k] = self.moving_average(self.metrics[k], v) | |
else: | |
self.metrics[k] = v | |
def current_metrics(self): | |
keys = sorted(list(self.metrics.keys())) | |
ordered_metrics = OrderedDict([(k, self.metrics[k]) for k in keys]) | |
return ordered_metrics | |