pytorch AverageMeter

AverageMeter类用于计算和存储平均值和当前值。在每个训练epoch开始时初始化,每个迭代(iter)中更新损失值,使用输入样本的数量进行加权。to_python_float函数确保转换为Python浮点数以保持向后兼容性。
摘要由CSDN通过智能技术生成

平均量

class AverageMeter(object):
    """Computes and stores the average and current value"""
    def __init__(self):
        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

调用:
训练,每个epoch前:
losses = AverageMeter()

当前epoch 每个iter:

losses.update(to_python_float(reduced_loss.data), input.size(0))

# item() is a recent addition, so this helps with backward compatibility.
def to_python_float(t):
    if hasattr(t, 'item'):
        return t.item()
    else:
        return t[0]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值