samtrack / aot /utils /meters.py
aikenml's picture
Upload folder using huggingface_hub
c985ba4
raw
history blame
860 Bytes
from __future__ import absolute_import
class AverageMeter(object):
"""Computes and stores the average and current value"""
def __init__(self, momentum=0.999):
self.val = 0
self.avg = 0
self.sum = 0
self.count = 0
self.long_count = 0
self.momentum = momentum
self.moving_avg = 0
def reset(self):
self.val = 0
self.avg = 0
self.sum = 0
self.count = 0
def update(self, val, n=1):
if self.long_count == 0:
self.moving_avg = val
else:
momentum = min(self.momentum, 1. - 1. / self.long_count)
self.moving_avg = self.moving_avg * momentum + val * (1 - momentum)
self.val = val
self.sum += val * n
self.count += n
self.long_count += n
self.avg = self.sum / self.count