MCPcopy Create free account
hub / github.com/FoundationVision/ByteTrack / AverageMeter

Class AverageMeter

yolox/utils/metric.py:51–95  ·  view source on GitHub ↗

Track a series of values and provide access to smoothed values over a window or the global series average.

Source from the content-addressed store, hash-verified

49
50
51class AverageMeter:
52 """Track a series of values and provide access to smoothed values over a
53 window or the global series average.
54 """
55
56 def __init__(self, window_size=50):
57 self._deque = deque(maxlen=window_size)
58 self._total = 0.0
59 self._count = 0
60
61 def update(self, value):
62 self._deque.append(value)
63 self._count += 1
64 self._total += value
65
66 @property
67 def median(self):
68 d = np.array(list(self._deque))
69 return np.median(d)
70
71 @property
72 def avg(self):
73 # if deque is empty, nan will be returned.
74 d = np.array(list(self._deque))
75 return d.mean()
76
77 @property
78 def global_avg(self):
79 return self._total / max(self._count, 1e-5)
80
81 @property
82 def latest(self):
83 return self._deque[-1] if len(self._deque) > 0 else None
84
85 @property
86 def total(self):
87 return self._total
88
89 def reset(self):
90 self._deque.clear()
91 self._total = 0.0
92 self._count = 0
93
94 def clear(self):
95 self._deque.clear()
96
97
98class MeterBuffer(defaultdict):

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected