NLLLOSS理解與測試


在使用NLLLOSS之前先試用logsoftmax作為神經網絡中最后一層的處理,然后在將這個輸出作為NLLLOSS的輸入計算誤差,其中大部分的使用需要傳的參數為:outputlabel,內部的計算公式是:

\[loss = output[label] \]

以十分類問題為例:
使用logsoftmax處理之后得到的數據為(這里僅展示一組數據,所以對應的label也為一個):

tensor([-2.7536, -2.2437, -2.2050, -2.5588, -2.3351, -2.1301, -2.1378, -2.6896,
        -2.1226, -2.1083])
		
labels = 8

則上述的數據經過nllloss運算之后得到的結果是:-2.1226

如果是多組的情況,具體的計算流程和上述的一模一樣,只不過將對應的label元素當做與output張量的下標,取出元素后做累加,累加之后再求均值即可。


免責聲明!

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



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