loss

分类和回归有各自常用的损失函数:
1.https://zhuanlan.zhihu.com/p/36431289
softmax是输出的概率,softmax-loss和softmax交叉熵才是损失函数:
1.https://zhuanlan.zhihu.com/p/72589970
二分类和多分类交叉熵
softmax loss和交叉熵
focal loss:
1.https://blog.csdn.net/u014380165/article/details/77019084
2.https://blog.csdn.net/lanyuxuan100/article/details/79055027

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
损失缩放(Loss Scaling)是一种在使用混合精度训练时,为了缓解数值下溢问题而采用的一种技术。在混合精度训练中,我们通常使用FP16(半精度浮点数)来存储模型参数和梯度,以减少内存占用和加速计算。但是,由于FP16的动态范围较小,当梯度值过小时,会出现数值下溢的情况,导致梯度无法更新。因此,我们需要对损失值进行缩放,使其在FP16的动态范围内,从而避免数值下溢问题。 下面是一个使用PyTorch实现损失缩放的例子: ```python import torch.nn.utils.gradscale_autograd as gradscale # 定义损失函数 loss_fn = torch.nn.CrossEntropyLoss() # 计算损失值 outputs = model(inputs) loss = loss_fn(outputs, labels) # 计算缩放因子 scale_factor = gradscale.get_scale_factor() # 进行损失缩放 loss = loss / scale_factor # 计算梯度 grad_loss = torch.autograd.grad(loss, model.parameters(), retain_graph=True) # 进行反向传播和优化器更新 optimizer.step() ``` 动态损失缩放(Dynamic Loss Scaling)是一种更加高级的损失缩放技术,它可以根据梯度值的大小动态地调整缩放因子,从而更好地缓解数值下溢问题。具体来说,当梯度值过小导致数值下溢时,动态损失缩放会减小缩放因子,从而增加梯度值;当梯度值过大导致数值上溢时,动态损失缩放会增加缩放因子,从而减小梯度值。这样可以在不引起溢出的情况下,使用最高的缩放因子,更好地恢复精度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值