AverageMeter一個用來記錄和更新變量的工具


之前使用過很多次,也沒有做很好的記錄,這次記錄下來。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

即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM