1 回答

TA貢獻(xiàn)1835條經(jīng)驗(yàn) 獲得超7個(gè)贊
從文檔中:
指定要應(yīng)用于輸出的縮減:'none' | '意思' | '和'。'none':不應(yīng)用減少,'mean':輸出的總和將除以輸出中的元素?cái)?shù),'sum':輸出將被求和。注意: size_average 和 reduce 正在被棄用,同時(shí),指定這兩個(gè) args 中的任何一個(gè)都將覆蓋 reduction。默認(rèn)值:“平均”
如果使用 none,輸出將與批量大小相同,
如果使用均值,則為均值(總和除以批次)
如果使用 sum,它將是所有元素的總和。
您還可以使用以下代碼驗(yàn)證這一點(diǎn):
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))
輸出應(yīng)為 0 或非常接近 0。
添加回答
舉報(bào)