负对数似然的约化参数

2024-05-23 17:46:29 发布

您现在位置:Python中文网/ 问答频道 /正文

PyTorch中负对数似然损失函数的约化参数的直观解释是什么?参数可以采用“mean”或“sum”等值。它是对这一批的元素求和吗?你知道吗

torch.nn.functional.nll_loss(outputs.mean(0), target, reduction="sum")

Tags: 函数元素参数对数nntorchpytorchmean
1条回答
网友
1楼 · 发布于 2024-05-23 17:46:29

根据文件:

指定要应用于输出的缩减:“none”|“mean”|“sum”“无”:不应用任何缩减,“平均”:输出的总和将除以输出中的元素数,“总和”:将对输出求和。注意:size\u average和reduce正在被弃用,同时,指定这两个参数之一将覆盖reduce。Default:'平均值'

如果不使用,输出将与批大小相同

如果使用平均数,则为平均数(总和除以批次)

如果使用sum,它将是所有元素的总和。你知道吗

您还可以使用以下代码验证这一点:

import torch 
logit = torch.rand(100,10)
target = torch.randint(10, size=(100,)) 
m = torch.nn.functional.nll_loss(logit, target)
s = torch.nn.functional.nll_loss(logit, target, reduction="sum") 
l = torch.nn.functional.nll_loss(logit, target, reduction="none")
print(torch.abs(m-s/100))
print(torch.abs(l.mean()-m))

输出应为0或非常接近0。你知道吗

相关问题 更多 >