AverageMeter 源码
class AverageMeter(object):
"""
Keeps track of most recent, average, sum, and count of a metric.
"""
def __init__(self):
self.reset()
def reset(self):
self.val = 0
self.avg = 0
self.sum = 0
self.count = 0
def update(self, val, n=1):
self.val = val
self.sum += val * n
self.count += n
self.avg = self.sum / self.count
avg = AverageMeter()
avg.update(1)
avg.update(2)
avg.update(3)
avg.update(4)
avg.update(5)
print(avg.sum, avg.count, avg.avg, avg.val)
15 5 3.0 5