Pytorch中的數學函數


log_softmax

log(softmax(X))

function:torch.nn.functional.log_softmax(x, dim=None)

nn:torch.nn.LogSoftmax(dim=None)

(對於神經網絡nn,上式是定義,在feed的時候讀入的參數和nn.functional是類似的)

如:

nll_loss

The negative log likelihood loss

function:torch.nn.functional.nll_loss(input, target, weight=None, size_average=True, ignore_index=-100, reduce=None, reduction='elementwise_mean')

nn:torch.nn.NLLLoss(weight=None, size_average=True, ignore_index=-100, reduce=None, reduction='elementwise_mean')

如:

function:

nn:

這里的3是batch_size,5是class_num,target就是標簽,[1, 0, 4]代表這個batch里的三個標簽

注:log_softmax + nll_loss 就相當於 CrossEntropyLoss

CrossEntropyLoss

一般地,對於分類問題,當model模塊計算好每個類別對應的概率后,可以直接接上一個CrossEntropyLoss就行了

如:

注意輸入中的target是可以直接用label的index,不用轉化為one-hot向量的,nn.CrossEntropyLoss()會自動幫你轉化

建議直接參考:

https://pytorch.org/docs/stable/nn.html?highlight=nn%20crossentropy#torch.nn.CrossEntropyLoss

MSELoss

如:

 

參考:

https://pytorch.org/docs/master/nn.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM