之前使用過很多次,也沒有做很好的記錄,這次記錄下來。AverageMeter可以記錄當前的輸出,累加到某個變量之中,然后根據需要可以打印出歷史上的平均
這個class是一種常用的工具
該class內容如下
class AverageMeter(object):
def __init__(self):
self.reset()
def is_empty(self):
return self.cnt == 0
def reset(self):
self.avg = 0.
self.sum = 0.
self.cnt = 0
def update(self, val, n=1):
self.sum += val*n
self.cnt += n
self.avg = self.sum / self.cnt
這樣在調用的時候,可以先聲明
obj = AverageMeter()
需要將所有變量清零的時候,調用
obj.reset()
然后需要更新某個變量的時候
obj.update(x)
這樣的話比如想要求平均,就可以直接用
obj.avg
即可