pytorch函数详解之AverageMeter


源码:
class AverageMeter(object): """Computes and stores the average and current value""" def __init__(self, name, fmt=':f'): self.name = name self.fmt = fmt self.reset() def reset(self): self.val = 0 self.avg = 0 self.sum = 0 self.count = 0 def update(self, val, n=1): self.val = val self.sum += val * n self.count += n self.avg = self.sum / self.count def __str__(self): fmtstr = '{name} {val' + self.fmt + '} ({avg' + self.fmt + '})' return fmtstr.format(**self.__dict__)
if __name__ == "__main__":
    losses = AverageMeter('AverageMeter')
    loss_list = [0.5,0.4,0.5,0.6,1]
    batch_size = 2
    for los in loss_list:
        losses.update(los,batch_size)
        print(losses.avg)
    print(losses)

总结:本质上还是对所有batch_size的损失取平均,batch_size会在计算中被消除,并没有啥用

reference:https://blog.csdn.net/qq_39783265/article/details/105398427


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM