2024-05-23 17:46:29 发布
网友
PyTorch中负对数似然损失函数的约化参数的直观解释是什么?参数可以采用“mean”或“sum”等值。它是对这一批的元素求和吗?你知道吗
torch.nn.functional.nll_loss(outputs.mean(0), target, reduction="sum")
根据文件:
指定要应用于输出的缩减:“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。你知道吗
根据文件:
指定要应用于输出的缩减:“none”|“mean”|“sum”“无”:不应用任何缩减,“平均”:输出的总和将除以输出中的元素数,“总和”:将对输出求和。注意:size\u average和reduce正在被弃用,同时,指定这两个参数之一将覆盖reduce。Default:'平均值'
如果不使用,输出将与批大小相同
如果使用平均数,则为平均数(总和除以批次)
如果使用sum,它将是所有元素的总和。你知道吗
您还可以使用以下代码验证这一点:
输出应为0或非常接近0。你知道吗
相关问题 更多 >
编程相关推荐