utils.AverageMeter()用法

时间: 2023-07-09 admin 互联网

utils.AverageMeter()用法

utils.AverageMeter()用法

utils.py源码

from __future__ import division, absolute_import__all__ = ['AverageMeter'][docs]class AverageMeter(object):"""Computes and stores the average and current value.Examples::>>> # Initialize a meter to record loss>>> losses = AverageMeter()>>> # Update meter after every minibatch update>>> losses.update(loss_value, batch_size)"""def __init__(self):self.reset()def reset(self):self.val = 0self.avg = 0self.sum = 0self.count = 0def update(self, val, n=1):self.val = valself.sum += val * nself.count += nself.avg = self.sum / self.count

在pytorch中用utils包来更新得分、损失等等,百度根本搜不到,不行就google!!!
代码说的例子是输入有两个参数,一个是用来处理的数值,比如损失等等,另一个是批量大小。
比如损失,假设批次为32,那么每个batch_size更新一次。

代码解释说明:

losses = 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)


本质上还是对所有batch_size的损失取平均。