Source code for draugr.metrics.meters

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

__author__ = "Christian Heider Nielsen"
__doc__ = r"""

           Created on 28/06/2020
           """

__all__ = ["Meter", "AverageMeter"]


[docs]class Meter: """Stores current value"""
[docs] def __init__(self): self.val = 0 self.sum = 0 self.count = 0 self.reset()
[docs] def reset(self): """description""" self.val = 0 self.sum = 0 self.count = 0
[docs] def update(self, val, n: int = 1): """ :param val: :type val: :param n: :type n:""" self.val = val self.sum += val * n self.count += n
[docs]class AverageMeter(Meter): """Computes and stores the average and current value"""
[docs] def __init__(self): super().__init__() self.avg = 0
[docs] def reset(self): """description""" super().reset()
[docs] def update(self, val, n: int = 1): """ :param val: :type val: :param n: :type n:""" super().update(val, n) self.avg = self.sum / self.count