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

posted @ 2020-11-26 18:14  小小马进阶笔记  阅读(7067)  评论(0)    收藏  举报