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