Source code for pytext.utils.meter

#!/usr/bin/env python3
# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved

import time


[docs]class Meter: def __init__(self): self.reset()
[docs] def reset(self): raise NotImplementedError
[docs] def update(self, val=1): raise NotImplementedError
@property def avg(self): return 0
[docs]class TimeMeter(Meter): """Computes the average occurrence of some event per second"""
[docs] def reset(self): self.start = time.time() self.n = 0
[docs] def update(self, val=1): self.n += val
@property def avg(self): return self.n / self.elapsed_time @property def elapsed_time(self): return time.time() - self.start