Spaces:
Sleeping
Sleeping
| 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 | |