码迷,mamicode.com
首页 > 其他好文 > 详细

AverageMeter一个用来记录和更新变量的工具

时间:2020-12-18 12:46:14      阅读:3      评论:0      收藏:0      [点我收藏+]

标签:打印   init   val   直接   lan   工具   __init__   sel   upd   

之前使用过很多次,也没有做很好的记录,这次记录下来。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

即可

AverageMeter一个用来记录和更新变量的工具

标签:打印   init   val   直接   lan   工具   __init__   sel   upd   

原文地址:https://www.cnblogs.com/yongjieShi/p/14129149.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!